在Python中交集两个单词列表
我想在Python中找到两个列表的交集。我有一个像这样的东西:
>>> q = ['apple', 'peach', 'pear', 'watermelon', 'strawberry']
>>> w = ['pineapple', 'peach', 'watermelon', 'kiwi']
我想找到一个像这样的东西:
t = ['peach', 'watermelon']
我知道这是个简单的问题,但我刚学Python——有没有人能给我一些建议?
3 个回答
2
在这里的讨论中提到,交集(intersection)的速度稍微快一些,所以你可以使用:
q = ['apple', 'peach', 'pear', 'watermelon', 'strawberry']
w = ['pineapple', 'peach', 'watermelon', 'kiwi']
set(q).intersection(w)
11
intersection() 方法可以用在 集合 上,而集合是可以很简单地从列表中创建出来的。
补充说明:如果你想从中得到一个列表……
q = ['apple', 'peach', 'pear', 'watermelon', 'strawberry']
w = ['pineapple', 'peach', 'watermelon', 'kiwi']
t = list(set(q) & set(w))
现在 t 是:
['watermelon', 'peach']