Python无法从嵌套列表中删除值

时间:2017-06-18 18:54:31

标签: python list

我在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。问题是什么?

3 个答案:

答案 0 :(得分:2)

您可以使用filter来执行此操作。

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

答案 1 :(得分:2)

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

答案 2 :(得分:1)

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