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

Python如何按子列表第二个元素实现不区分大小写的字母排序

解决Python不区分大小写的嵌套列表排序问题

Python默认的字符串排序基于ASCII码值,大写英文字母的ASCII码范围是65-90,小写是97-122,因此所有大写字符串的排序优先级天然高于小写,才会出现大写全部排在小写前面的情况。

你只需要修改sorted的key参数,将用于排序的字符串统一转为小写(或大写)后再做排序即可,修改后的代码如下:

data = [[0, "ba"], [0, "ab"], [0, "BB"], [0, "AA"]]
print(sorted(data, key=lambda x: x[1].lower()))

运行后输出和你期望的结果完全一致:

[[0, 'AA'], [0, 'ab'], [0, 'ba'], [0, 'BB']]

如果需要适配非英语字符的本地化不区分大小写排序,可以使用标准库locale模块的相关函数配置排序规则,普通英文字母场景下上述方案已经完全够用。

内容的提问来源于stack exchange,提问作者Yılmaz Alpaslan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 21:06:03