列出r
:
r= [['Paris', 10], ['amsterdam', 5], ['London', 18], ['london', 15], ['Berlin', 2], ['Stockholm', 4], ['oslo', 14], ['helsinki', 16], ['Zurich', 17]]
如果我进行反向排序:
sorted(r, reverse=True)
[['oslo', 14], ['london', 15], ['helsinki', 16], ['amsterdam', 5], ['Zurich', 17], ['Stockholm', 4], ['Paris', 10], ['London', 18], ['Berlin', 2]]
我想要的是从大写字母开始,而不是小写字母开始。
[ ['Zurich', 17], ['Stockholm', 4], ['Paris', 10], ['London', 18], ['Berlin', 2], ['oslo', 14], ['london', 15], ['helsinki', 16], ['amsterdam', 5]]
Python3中有一种简单的方法可以根据需要对列表进行排序吗?
最佳答案
使用自定义key
函数,一切皆有可能:
>> sorted(r, key=lambda e: (not e[0].islower(), e[0]), reverse=True)
[['Zurich', 17], ['Stockholm', 4], ['Paris', 10], ['London', 18], ['Berlin', 2],
['oslo', 14], ['london', 15], ['helsinki', 16], ['amsterdam', 5]]
关于python - 如何对以大写字母开头的嵌套列表进行反向排序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53592424/