Python无法从嵌套的lis中删除值

2024-09-28 23:22:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经在python中得到了这个列表
[[20.0, 'Harsh'], [20.0, 'Beria'], [19.0, 'Varun'], [19.0, 'Kakunami'], [21.0, 'Vikas']] 我想从这个列表中删除所有最小值,所以这里是我的代码

g=min(listz)[0];
for value in listz:
    if value[0]==g:
        listz.remove(value);    
        print(value," ",g)

但不幸的是,这段代码只删除了Varun,即使Kakunami也有相同的内容价值。什么有问题吗?你知道吗


Tags: 代码in列表forifvalueminremove
3条回答

给出的答案没有解释代码的基本问题,即: 你不应该试图改变你正在循环的列表。你知道吗

new_list = [m for m in listz if m[0]>g]

您可以使用filter来执行此操作。你知道吗

g = min(listz)[0];
updated_list = filter(lambda x: x[0] > g, listz)

相关问题 更多 >