Python 两个列表的差集、并集和交集实现代码
①差集
方法一:
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中的元素不能为字典