①差集
方法一:
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) |
执行结果:
方法二:
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) |
执行结果:
方法三:
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) |
执行结果:
注:此方法中,两个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中的元素不能为字典
③交集
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) |
执行结果:
注:此方法中,两个list中的元素不能为字典
原文链接:http://blog.csdn.net/wudj810818/article/details/50403424