①差集
方法一:
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