Python 提取两个列表的共同元素

原创 2014年 4月 2日
标签: PYTHON
本文发布至今已有10年零172天,可能不再适用,请谨慎对待。

先打个广告:欢迎关注我的公众号,参与 文史大挑战 趣味题目。使用方法见 这篇文章

公众号:晚花行乐

正文开始:

Python如何提取两个列表的共同元素?也就是取两个集合的交集。除了常规的循环外,Python提供了一些更简洁更美的表达法,比如可以用列表解析的方法,或者用 Python 内置的集合运算。

比如已有如下两个列表,Python如何提取两个列表的共同元素?

[1, 2, 3, 4, 5]

[4, 5, 6, 7, 8]

希望能得到

[4, 5]

的结果?

方法一,列表解析

可以用列表解析, List comprehension 下的方法:

A = [1, 2, 3, 4, 5]
B = [4, 5, 6, 7, 8]
print([x for x in A if x in B]) # [4, 5]

方法二,集合运算

还可以用Python 的集合(set)运算,s.intersection(t) 返回s与t的交集

A = [1, 2, 3, 4, 5]
B = [4, 5, 6, 7, 8]
print(set(A).intersection(set(B))) # {4, 5}

如果您对本文有疑问或者寻求合作,欢迎 联系邮箱邮箱已到剪贴板

标签: PYTHON
给个免费的赞吧~

精彩评论

本站 是个人网站,采用 署名协议 CC-BY-NC 授权。
欢迎转载,请保留原文链接 https://www.lfhacks.com/tech/duplicate-elements-python/ ,且不得用于商业用途。