【发布时间】:2017-03-31 00:27:49
【问题描述】:
我必须列出两个清单。一个带有名称(str),第二个带有工资(int)。然后,我必须按姓名对工资进行排序。问题是,当我这样做时,总是只对工资进行排序。
names = ["Asia","Łukasz","Aneta","Ola","Mikołaj"]
wages = [15000,1500,200,14500,2600]
print("Here(should) be sorted list")
wages.sort()
for i in range (len(wages)) :
print(wages[i],names[i])
为了清楚起见,我想将这两个列表合二为一并对它们进行排序。尽可能用简单的方法。没有函数、集合、拉链等。只有循环。
【问题讨论】:
-
什么是
zarobki? -
@L3viathan:我认为 OP 忘记将
zarobki翻译成wages。 -
您可以使用
sorted并提供lambda作为密钥吗? -
您只对一个列表进行排序,然后期望第二个列表也被排序。这些列表没有以任何方式连接。如果你想让他们联系起来,建立一个字典,将工资和名字联系起来。
-
使用元组。列出
(wage, name)元组,然后它们正常排序。元组自然地按它们的第一个元素排序,因此您只需要正常排序即可。 (这是一种过于复杂的做法sorted(zip(wages, names)))