从列表中删除列表中的每个项目

时间:2014-10-02 12:52:15

标签: python list

我想从列表中删除列表中出现的每个项目/字符串。

list_a = f.readlines()
        for i in xrange(0,len(list_b)):
            if list_b[i] in list_a:
                list_bt[i].pop()
                i--

我确信有一个更好的解决方案,但就目前而言,我无法想到一个

4 个答案:

答案 0 :(得分:3)

如果订单无关紧要,您可以使用套装,因为您没有重复:

a = range(15)
b = range(5)

a = set(a).difference(b)

如果您想要列表,请使用list(a)

答案 1 :(得分:1)

您可以按如下方式使用列表推导。

>>> a = [1,6,4,2,4,6,7,3,3,5,9]
>>> b = [2,9,3]
>>> [i for i in a if i not in b]
[1, 6, 4, 4, 6, 7, 5]

答案 2 :(得分:1)

使用filter

>>> a = [1,6,4,2,4,6,7,3,3,5,9]
>>> b = [2,9,3]
>>> filter(lambda x: x not in b,a)
[1, 6, 4, 4, 6, 7, 5]

答案 3 :(得分:-1)

for element in list_b:
    if element in list_a:
        list_b.remove(element)