Python,从列表中弹出所有内容但最大值

Jew*_*ile 0 python list max

我有一个列表,其中包含多达数千个条目及其值:

lst = [
    [entry1, [value1, value2, value3]],
    [entry2, [value4, value5, value6, value7]],
    ...
]
Run Code Online (Sandbox Code Playgroud)

需要从每个条目的值中弹出除最大值之外的所有内容.

你知道这样做的顺利方式吗?谢谢!

Mar*_*ers 9

不要弹出,替换列表:

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)