我想从列表中删除列表中出现的每个项目/字符串。
list_a = f.readlines()
for i in xrange(0,len(list_b)):
if list_b[i] in list_a:
list_bt[i].pop()
i--
我确信有一个更好的解决方案,但就目前而言,我无法想到一个
答案 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)