这篇文章主要介绍了 Python 两个列表的差集、并集和交集实现代码, 需要的朋友可以参考下
Python 是一种面向对象、解释型计算机程序设计语言,由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。Python 语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。
①差集
方法一:
- 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)
执行结果:
方法二:
- 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)
执行结果:
方法三:
- 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)
执行结果:
注:此方法中,两个 list 中的元素不能为字典
②并集
- 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 中的元素不能为字典
③交集
- 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)
执行结果:
注:此方法中,两个 list 中的元素不能为字典
来源: http://www.phperz.com/article/17/0318/301508.html