在我对其中一个数组排序后,如何对齐两个数组?

2024-05-14 13:38:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个列表,它们的价值观与彼此的立场相匹配。所以乔恩的分数是123,比德的分数是11,等等

name = ["Jon", "Bede", "Joe"]
score = [123, 11, 43]

怎样才能对列表排序,以便它输出最小的分数,先升到最高的分数,每次都输出得分者的姓名。在


Tags: name列表排序分数score姓名joejon
3条回答
for s, n in sorted(zip(score, name)): # sort by score.
    print(n, s)

如果您不介意的话,这会合并列表:

sorted(zip(name,score))

如果你有两个索引相关的列表,很难保持它们的同步。python的解决方案是一个tuple列表,其中每个tuple中的第一个元素是名称,第二个元素是score:

names_with_score = [
    ("Jon", 123),
    ("Bede", 11),
    ("Joe", 43),
]
names_with_score.sort(key=lambda x: x[1]) # sort with the second element

如果无法控制数据的传递方式,可以使用zip函数加入列表:

^{pr2}$

相关问题 更多 >

    热门问题