我有一个文件[姓名年龄标记]。我已将List的每个值存储在list1中。列表2中的标记。我在python中使用zip函数组合了两个列表:
list3 =[]
list3 = zip(list1,list2)
例如: list3 =((Steve,32),(David,65),(Ram,43),(Mary,87)) 现在我想按标记的降序对list3进行排序。所以请帮忙如何处理这个问题。我是python的新手。 感谢您的时间和考虑。等待回复
答案 0 :(得分:2)
sorted
,list.sort
接受可选的key
功能。函数的返回值用于比较。
>>> list3 = [('Steve',32),('David',65),('Ram',43),('Mary',87)]
>>> sorted(list3, key=lambda item: item[1])
[('Steve', 32), ('Ram', 43), ('David', 65), ('Mary', 87)]
>>> sorted(list3, key=lambda item: -item[1]) # negate the return value.
[('Mary', 87), ('David', 65), ('Ram', 43), ('Steve', 32)]
>>> sorted(list3, key=lambda item: item[1], reverse=True) # using `reverse`
[('Mary', 87), ('David', 65), ('Ram', 43), ('Steve', 32)]