【发布时间】:2018-05-10 19:44:25
【问题描述】:
我需要按数字降序排列列表中的列表。如果数字相同,我必须按字母顺序(递增)排序。
例如,如果我有以下列表:
mylist=[['a', 5], ['l', 2], ['u', 1], ['t', 1], ['q', 1], ['o', 1], ['e', 1]]
输出必须是这样的:
[['a', 5], ['l', 2], ['e', 1], ['o', 1], ['q', 1], ['t', 1], ['u', 1]]
我已经搜索过这个,但我只能找到如何订购列表。这里的问题是,当数字相同时,我必须按字母顺序排列。所以顺序首先是数字(我已经达到了),然后当数字相同时我必须排序但字母表。
【问题讨论】:
-
您是否搜索过如何对列表进行排序?
-
为什么
['y', 0]出现在['z', 0]之后?我不明白你希望这个列表如何排序。 -
您是在问如何仅对列表的 部分 (第二个元素 = 1 的部分)进行排序,其余部分保持不变?
-
我认为将其转换为字典格式会更容易实现和思考。字典方法对这个用例有意义吗?
-
我搜索过这个,但是我只能找到如何排序列表,但这里的问题是我必须在数字相同的情况下按字母排序。所以顺序首先是数字(我已经达到了),然后当数字相同时我必须按字母顺序排序。