我想根据第一项来排序我的列表,例如:
fruits = \
[['Mango', 6, 5, 8.0],
['Banana', 2.0, 5, 8.9, 7],
['Pineapple', 4, 6.8, 9],
['Apple', 3.9, 6, 7, 2]]
这样整理出来:
fruits = \
[['Apple', 3.9, 6, 7, 2],
['Banana', 2.0, 5, 8.9, 7],
['Mango', 6, 5, 8.0],
['Pineapple', 4, 6.8, 9]]
我知道我必须使用sort()
函数,但我不知道如何以正确的方式使用它来生成我想要的输出。
答案 0 :(得分:1)
究竟是什么问题? sort()
已按第一个元素排序。
In [14]: fruits = [["Mango", 6,5,8.0],
["Banana", 2.0,5,8.9,7],
["Pineapple", 4,6.8,9],
["Apple", 3.9,6,7,2]]
In [15]: fruits.sort()
In [16]: fruits
Out[16]:
[['Apple', 3.9, 6, 7, 2],
['Banana', 2.0, 5, 8.9, 7],
['Mango', 6, 5, 8.0],
['Pineapple', 4, 6.8, 9]]
如果您的商品是类或变量,则应根据您的排序需求实施比较方法(__ge__
,__le__
,__gt__
,__lt__
)。
请注意,fruits.sort()
会修改列表,如果您需要新的已排序副本,请使用sorted(fruits)