如何从列表列表中删除等于某个值的项目?

时间:2018-03-21 15:07:27

标签: python list

如果item[0]a,我需要删除所有== '1'

a = [['1','2','3'], ['2','4','9']]
for item in a:
    if item[0] == '1':
        del item

4 个答案:

答案 0 :(得分:3)

您可以使用列表推导如下

a = [i for i in a if i[0] != '1']

答案 1 :(得分:1)

迭代时不要更改列表的长度。改为换新名单。

b = [i for i in a if i[0] != '1']

答案 2 :(得分:0)

使用filter

new_a = list(filter(lambda item: item[0] != '1', a))

无论你的python版本如何,列表都是兼容的(filter返回python3中的延迟序列。)

答案 3 :(得分:0)

列表理解是解决此问题的最佳方法,但是如果你想在这里使用for循环,可以使用一些Python代码:

a = [[1,2,3], [2,1,9], [1,6,9], [5,6,7]]
# Code
def removeOneList(a):

    for item in a:
       if item[0] == 1:
           del item[:]

    return a

print(removeOneList(a))