按降序排序列表引用另一个

时间:2016-12-22 22:33:58

标签: python list sorting zip

尝试对列表进行排序,但保持与其他列表的连接。做了一些阅读并找到了zip功能,但是我想按照年龄的降序排列列表,也不是名字。

names = ["Ged","Ethan","Sam","Paul"]
ages = [15,9,12,19]
list(zip(names,ages))
for i,j in sorted(zip(names,ages),reverse=True):
  print(i,j)

我似乎无法得到其余部分。有什么帮助吗?

1 个答案:

答案 0 :(得分:2)

只需添加key函数即可将反转元组作为标准返回:

for i,j in sorted(zip(names,ages),reverse=True,key=lambda x : x[::-1]):
   print(i,j)

首先考虑年龄,然后考虑名称(如果年龄相同),而不仅仅是lambda x : x[1],而不是将名称考虑在内

另一种简单的方法是恢复字段,以便自然排序标准起作用:

for i,j in sorted(zip(ages,names),reverse=True):
   print(j,i)