我有一个列表,其中包含多达数千个条目及其值:
lst = [
[entry1, [value1, value2, value3]],
[entry2, [value4, value5, value6, value7]],
...
]
需要从每个条目的值中弹出除最大值之外的所有内容。
您是否知道这样做的顺利方式?谢谢!
答案 0 :(得分:8)
不要弹出,替换列表:
lst = [[entry, [max(values)]] for entry, values in lst]
这会将整个列表替换为新列表。如果您现有对所有需要查看更改的子列表的引用,那么您可以在[:]
循环中为每个for
切片分配:{/ p>
for _, values in lst:
values[:] = [max(values)]