1

我有一个诅咒词列表,我想与其他列表匹配以删除匹配项。我通常单独使用 list.remove('entry') ,但是在一个条目列表中循环访问另一个列表 - 然后删除它们让我很难过。有任何想法吗?

4

2 回答 2

10

使用filter

>>> words = ['there', 'was', 'a', 'ffff', 'time', 'ssss']
>>> curses = set(['ffff', 'ssss'])
>>> filter(lambda x: x not in curses, words)
['there', 'was', 'a', 'time']
>>> 

也可以通过列表理解来完成:

>>> [x for x in words if x not in curses]
于 2012-05-11T22:47:46.890 回答
4

使用套装。

a=set(["cat","dog","budgie"])
b=set(["horse","budgie","donkey"])
a-b
->set(['dog', 'cat'])
于 2012-05-11T22:43:58.027 回答