小编Pru*_*oru的帖子

在Python中以各种级别排序

我试图对这些元组列表进行排序:

[('Pineapple', 1), ('Orange', 3), ('Banana', 1), ('Apple', 1), ('Cherry', 2)]
Run Code Online (Sandbox Code Playgroud)

排序列表应为:

[('Orange', 3), ('Cherry', 2), ('Apple', 1), ('Banana', 1), ('Pineapple', 1)]
Run Code Online (Sandbox Code Playgroud)

所以,这里第一个列表应该按tuple[1]降序排序,然后如果tuplevalues(tuple[1])匹配Apple,那么Banana&Pineapple- list应该按tuple[0]升序进一步排序.

我尝试了可能的方法 -

top_n.sort(key = operator.itemgetter(1, 0), reverse = True)
# Output: [(Orange, 3), (Cherry, 2), (Pineapple, 1), (Banana, 1), (Apple, 1)]
Run Code Online (Sandbox Code Playgroud)

"reverse = True",菠萝,香蕉,......

我最终不得不想出一个解决方案:

top_n.sort(key = operator.itemgetter(0), reverse = False)
top_n.sort(key = operator.itemgetter(1), reverse = True)
Run Code Online (Sandbox Code Playgroud)

有没有比我的第一种方法更好的方法来获得解决方案.我正在尝试更多地探索Python,从而寻求这样的解决方案.

python sorting list

9
推荐指数
2
解决办法
372
查看次数

标签 统计

list ×1

python ×1

sorting ×1