合并两个列表,然后对每列进行排序

时间:2014-04-24 16:52:11

标签: python

我有一个文件[姓名年龄标记]。我已将List的每个值存储在list1中。列表2中的标记。我在python中使用zip函数组合了两个列表:

 list3 =[]
 list3 = zip(list1,list2)

例如: list3 =((Steve,32),(David,65),(Ram,43),(Mary,87)) 现在我想按标记的降序对list3进行排序。所以请帮忙如何处理这个问题。我是python的新手。 感谢您的时间和考虑。等待回复

1 个答案:

答案 0 :(得分:2)

sortedlist.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)]