gpt4 book ai didi

python - 仅使用一列对嵌套列表进行排序

转载 作者:太空宇宙 更新时间:2023-11-04 01:54:27 28 4
gpt4 key购买 nike

我做了一个嵌套列表 [[name, score]][['Ashish', 32], ['Varsha', 32], ['Nano', 31.9] , ['Sparsh', 40.3], ['Ria', 30.2]] 我想根据这个列表排序。到数字。

a['score'].sort(reverse = True)

我试过上面的代码,但它给出了这个错误,

TypeError: list indices must be integers or slices, not str

我应该尝试什么?

最佳答案

基本上是@AndreyKesley 所说的。

您的嵌套列表不是一个以“score”作为一列名称的二维列表。这是一个列表列表,你不能只抓取第二列。

但是,您可以按每个元素的第二项排序:

a = [['Ashish', 32], ['Varsha', 32], ['Nano', 31.9], ['Sparsh', 40.3], ['Ria', 30.2]]

a.sort(key=lambda el: el[1], reverse=True)
print(a)

[['Sparsh', 40.3], ['Ashish', 32], ['Varsha', 32], ['Nano', 31.9], ['Ria', 30.2]]

或没有 lambda 的对初学者更友好的版本:

import operator

a = [['Ashish', 32], ['Varsha', 32], ['Nano', 31.9], ['Sparsh', 40.3], ['Ria', 30.2]]

a.sort(key=operator.itemgetter(1), reverse=True)
print(a)

关于python - 仅使用一列对嵌套列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57168745/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com