python获取两个列表的交集

微信扫一扫,分享到朋友圈

python获取两个列表的交集
0

python获取两个列表的交集方法分享

方法一

遍历其中一个列表检查当前遍历的元素是否存在于另外一个列表,如果存在那么将其加入到结果集中,得出的结果既是两个列表的“交集”部分

# -*- coding: utf-8 -*-

list1 = ['5118', '站长之家', '爱站', 'Ahref', 'link114', '超级蜘蛛池']
list2 = ['MOZ', 'archive', 'semrush', '5118', '站长之家', '爱站']

for element in list1:
    if element in list2:
        print(element)

运行结果:

5118
站长之家
爱站

方法二

将两个列表转换为set集合,然后使用集合操作符&求解两个set集合的交集

# -*- coding: utf-8 -*-

list1 = ['5118', '站长之家', '爱站', 'Ahref', 'link114', '超级蜘蛛池']
list2 = ['MOZ', 'archive', 'semrush', '5118', '站长之家', '爱站']

result = set(list1) & set(list2)
# 也可以直接转换为列表
# result = list(set(list1) & set(list2))
print(result)
 

运行结果:

{'爱站', '站长之家', '5118'}

方法3

前面的例子中两个list都是简单的单元素列表,如果列表中有嵌套类型的可以参考如下代码:

# -*- 编码: utf-8 -*-

b1=[1,2,3]
b2=[[2,4],[3,5]]
b3 = [filter(lambda x: x in b1,sublist) for sublist in b2]
print b3

运行结果:

[2, 3]

微信扫一扫,分享到朋友圈

python获取两个列表的交集
0
上一篇

如何根据http请求信息区分访问用户的国家、语言信息

下一篇

wordpress配置ssl后只有首页301跳转解决方法

你也可能喜欢

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片
微信 微信
微信
返回顶部