You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对含(城市名,国家名)的元组列表按双参数字母序排序?

解决元组列表排序问题

你的问题出在lambda函数的排序键顺序搞反了。你当前的写法是先按城市名排序,再按国家名排序,和需求正好相反。

正确的做法是调换排序键的顺序:先取国家名(element[1])作为第一排序依据,再取城市名(element[0])作为第二排序依据,这样就能实现先按国家A-Z排序、同国家内再按城市A-Z排序的效果。

示例代码

# 原始列表示例
city_country_list = [("Paris", "France"), ("London", "UK"), ("Lyon", "France"), ("Manchester", "UK")]

# 正确的排序代码
sorted_list = sorted(city_country_list, key=lambda element: (element[1], element[0]))

print(sorted_list)

运行结果

[("Lyon", "France"), ("Paris", "France"), ("London", "UK"), ("Manchester", "UK")]

运行后会先将同一国家的城市归为一组,组内再按城市名的字母顺序排列。

内容的提问来源于stack exchange,提问作者user20473020

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 06:25:27