我想获取两个列表并查找两个列表中都出现的值。
a = [1, 2, 3, 4, 5] b = [9, 8, 7, 6, 5] returnMatches(a, b)
[5]例如,将返回。
不是最有效的方法,但是到目前为止,最明显的方法是:
>>> a = [1, 2, 3, 4, 5] >>> b = [9, 8, 7, 6, 5] >>> set(a) & set(b) {5}
如果订单很重要,你可以使用以下列表推导方法进行处理:
>>> [i for i, j in zip(a, b) if i == j] [5]
(仅适用于大小相等的列表,这意味着顺序意义)
使用set.intersection(),它快速且可读。
set.intersection()
>>> set(a).intersection(b) set([5])