我试图对这些元组列表进行排序:
[('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,从而寻求这样的解决方案.