首页 > 编程 > Python > 正文

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

2019-11-25 16:32:39
字体:
来源:转载
供稿:网友

①差集
方法一:

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中的元素不能为字典

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表