0

我想在一行list中为不存在的项目创建一个循环。other_list像这样的东西:

>>> list = ['a', 'b', 'c', 'd']
>>> other_list = ['a', 'd']
>>> for item in list not in other_list:
...     print item
...
b
c

这怎么可能?

4

4 回答 4

5
for item in (i for i in my_list if i not in other_list):
    print item

它有点冗长,但同样有效,因为它只呈现下一个循环中的每个下一个元素。

于 2013-08-22T14:40:55.273 回答
2

使用 set (这可能比您实际想要做的更多):

for item in set(list)-set(other_list):
     print item
于 2013-08-22T14:43:43.983 回答
0

第三种选择:for i in filter(lambda x: x not in b, a): print(i)

于 2013-08-22T14:50:28.877 回答
0

列表理解是你的朋友

>>> list = ['a', 'b', 'c', 'd']
>>> other_list = ['a', 'd']
>>> [x for x in list if x not in other_list]
['b', 'c']

也不要将事物命名为“列表”

于 2013-08-22T17:06:26.223 回答