脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python 两个列表的差集、并集和交集实现代码

Python 两个列表的差集、并集和交集实现代码

2020-09-08 10:28wudj810818 Python

这篇文章主要介绍了Python 两个列表的差集、并集和交集实现代码,需要的朋友可以参考下

①差集
方法一:

?
1
2
3
4
5
6
7
8
9
10
11
if __name__ == '__main__':
    a_list = [{'a' : 1}, {'b' : 2}, {'c' : 3}, {'d' : 4}, {'e' : 5}]
    b_list = [{'a' : 1}, {'b' : 2}]
    ret_list = []
    for item in a_list:
        if item not in b_list:
            ret_list.append(item)
    for item in b_list:
        if item not in a_list:
            ret_list.append(item)
    print(ret_list)

执行结果:

Python 两个列表的差集、并集和交集实现代码

方法二:

?
1
2
3
4
5
if __name__ == '__main__':
    a_list = [{'a' : 1}, {'b' : 2}, {'c' : 3}, {'d' : 4}, {'e' : 5}]
    b_list = [{'a' : 1}, {'b' : 2}]
    ret_list = [item for item in a_list if item not in b_list] + [item for item in b_list if item not in a_list]
    print(ret_list)

执行结果:

Python 两个列表的差集、并集和交集实现代码

方法三:

?
1
2
3
4
5
if __name__ == '__main__':
    a_list = [1, 2, 3, 4, 5]
    b_list = [1, 4, 5]
    ret_list = list(set(a_list)^set(b_list))
    print(ret_list)

执行结果:

Python 两个列表的差集、并集和交集实现代码

注:此方法中,两个list中的元素不能为字典

②并集

?
1
2
3
4
5
if __name__ == '__main__':
    a_list = [1, 2, 3, 4, 5]
    b_list = [1, 4, 5]
    ret_list = list(set(a_list).union(set(b_list)))
    print(ret_list)

执行结果:

 

注:此方法中,两个list中的元素不能为字典

③交集

Python 两个列表的差集、并集和交集实现代码

?
1
2
3
4
5
if __name__ == '__main__':
    a_list = [1, 2, 3, 4, 5]
    b_list = [1, 4, 5]
    ret_list = list((set(a_list).union(set(b_list)))^(set(a_list)^set(b_list)))
    print(ret_list)

执行结果:

Python 两个列表的差集、并集和交集实现代码

注:此方法中,两个list中的元素不能为字典

原文链接:http://blog.csdn.net/wudj810818/article/details/50403424

延伸 · 阅读

精彩推荐