gpt4 book ai didi

Python - 根据总和对列表进行排序

转载 作者:太空狗 更新时间:2023-10-30 00:28:09 26 4
gpt4 key购买 nike

我想根据每个内部列表的总和对包含列表的列表进行排序。

这是我得到的当前片段

vectors = []
for i in range(0, 10):
vectors.append(generate_vector()) # generate_vector() works, creates a list

for vector in vectors:
coin_list = findbest(vector) # findbest(vector) outputs a list
print coin_list, fitness(coin_list) # fitness(coin_list) gives the sum of coin_list

我想根据 fitness(coin_list) 的结果从低到高对向量进行排序。最好的方法是什么?

最佳答案

您可以在 sorted 函数中使用 key 参数

data = [[1,2,3], [14, 7], [5, 6, 1]]
print sorted(data, key=sum)

输出

[[1, 2, 3], [5, 6, 1], [14, 7]]

如果你想就地排序

data = [[1,2,3], [14, 7], [5, 6, 1]]
data.sort(key=sum)
print data

输出

[[1, 2, 3], [5, 6, 1], [14, 7]]

编辑 为了以防万一,如果您想知道如何按降序排序,您可以像这样使用reverse参数

data.sort(key=sum, reverse=True)
sorted(data, key=sum, reverse=True)

所以,在你的情况下

vectors = [generate_vector() for i in range(0, 10)]
print sorted([findbest(vector) for vector in vectors], key=sum)

就是这样。

关于Python - 根据总和对列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19872530/

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