迭代listA中未出现在列表中的所有项目

时间:2010-10-25 00:42:26

标签: python

我该如何解决这个问题:

for i in LISTA and i not in LISTB:
   print i

4 个答案:

答案 0 :(得分:8)

for i in LISTA:
  if i not in LISTB:
    print i

答案 1 :(得分:7)

new_list = set(LISTA) -  set(LISTB) # if you don't have duplicate
for i in new_list:
   print i

或者:

for i in LISTA:
   if i in LISTB:
      continue
   print i

答案 2 :(得分:5)

更复杂的解决方案。这是一个简单的交叉补充。

a = set([1, 2, 3])
b = set([3, 4, 5])

print(a - b)

答案 3 :(得分:2)

for i in (i for i in LISTA if i not in LISTB):
    print i

括号中的部分是generator expression。这比其他方法的好处是它不会创建重复(临时)集或列表对象。如果LISTA和/或LISTB非常大,这一点尤其重要。