python 根据内部元素和忽略大小写对列表列表进行排序

标签 python sorting ignore-case

假设我在 python 中有以下列表

[ [1,"C"], [2, "D"], [3,"a"], [4,"b"] ]

我想按字母对列表进行排序,这样会是

[ [3,"a"], [4,"b"], [1,"C"], [2, "D"] ]

要按内部字符排序,我会执行 sorted(unsortedlist, key=itemgetter(1))
要通过忽略大小写进行排序,我会执行 sorted(unsortedlist, key=str.lower)

如何按内部元素排序并同时忽略大小写?

最佳答案

这是匿名函数的(罕见)用例之一:

>>> sorted([[1, 'C'], [2, 'D'], [3, 'a'], [4, 'b']], key=lambda x: x[1].lower())
[[3, 'a'], [4, 'b'], [1, 'C'], [2, 'D']]

Lambda 通常有点笨重且不符合 Python 规范,但是 unfortunately, there is no "compose" function built-in to python .

关于python 根据内部元素和忽略大小写对列表列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29156307/

相关文章:

java - arrayListName.sort(null) 是做什么的?

python - 在python中获取实例的标识符名称

python - 模拟 urllib.request.urlopen 的 read 函数返回 MagicMock 签名

python - 根据指标对候选人列表进行排序 - Python?

javacc本地忽略大小写?

python 正则表达式匹配大小写选项

C# 比较字符串忽略大小写

python - 为什么我会收到有关 scipy 稀疏列切片的警告?

python - 使用 2 个列表的双 for 循环与使用 2 个文本文件的双循环相比 - 不同的结果

C#.NET : Descending comparison of a SortedDictionary?