2024-05-14 13:38:08 发布
网友
我有两个列表,它们的价值观与彼此的立场相匹配。所以乔恩的分数是123,比德的分数是11,等等
name = ["Jon", "Bede", "Joe"] score = [123, 11, 43]
怎样才能对列表排序,以便它输出最小的分数,先升到最高的分数,每次都输出得分者的姓名。在
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函数加入列表:
如果您不介意的话,这会合并列表:
如果你有两个索引相关的列表,很难保持它们的同步。python的解决方案是一个tuple列表,其中每个tuple中的第一个元素是名称,第二个元素是score:
如果无法控制数据的传递方式,可以使用zip函数加入列表:
^{pr2}$相关问题 更多 >
编程相关推荐