我有一个列表,其中包含多达数千个条目及其值:
lst = [
[entry1, [value1, value2, value3]],
[entry2, [value4, value5, value6, value7]],
...
]
Run Code Online (Sandbox Code Playgroud)
需要从每个条目的值中弹出除最大值之外的所有内容.
你知道这样做的顺利方式吗?谢谢!
不要弹出,替换列表:
lst = [[entry, [max(values)]] for entry, values in lst]
Run Code Online (Sandbox Code Playgroud)
这将用新的列表替换整个列表.如果现有对所有需要查看更改的子列表的引用,则可以[:]在for循环中为每个子列表分配:
for _, values in lst:
values[:] = [max(values)]
Run Code Online (Sandbox Code Playgroud)