python如何获取list字典的交集、并集和差集
目录
- 1. List
- 1.1 set运算符法
- 1.2 set函数法
- 1.3 多个list的交并差集
- 2. 字典 dict
- 2.1 keys
- 2.2 items (keys, values)
- 总结
1. List
Example
a = list编程客栈([1, 3, 5, 2, 10]) b = list([1, 4, 5, 10, 20])
1.1 set运算符法
# 求交集 list(set(a) & set(b)) # [1, 10, 5] # 求并集 list(set(a) | set(b)) # [1, 2, 3, 4, 5, 10, 20] # 求差集 # a有而b没有 list(set(a) - set(b)) # [2, 3] # b有而a没有 list(set(b) - set(a)) # [4, 20] # 对称差集 list(set(a) ^ set(b)) # [2, 3, 4, 20]
1.2 set函数法
# 求交集 list(set(a).intersection(b)) # [1, 10, 5] # 求并集 list(set(a).union(b)) # [1, 2, 3, 4, 5, 10, 20] # 求差集 # a有而b没有 list(set(a).difference(set(b))) # [2, 3] # b有而a没有 list(set(b).difference(set(a))) # [4, 20] # 对称差集 list(set(a).symmetric_difference(setpython(b))) # [2, 3, 4, 20]
1.3 多个list的交并差集
a =iYemqClILb list([1, 3, 5, 2, 10]js) b = list([1, 4, 5, 10, 20]) c = li编程st([2, 4, 1, 5, 7, 10]) # 求交集 list(set(a).intersection(b, c)) # [1, 10, 5] # 求并集 list(set(a).union(b)) # [1, 2, 3, 4, 5, 20, 7, 10] # a中独有而b, c中没有 list(set(a).difference(b, c)) # [3]
2. 字典 dict
Example
a = { 'x' : 1, 'y' : 2, 'z' : 3 } b = { 'w' : 9, 'x' : 5, 'y' : 2 }
2.1 keys
# 交集 a.keys() & b.keys() # 并集 a.keys() | b.keys() # 差集 a.keys() - b.keys() b.keys() - a.keys()
2.2 items (keys, values)
# 交集 a.items() & b.items() # 并集 a.items() | b.items() # 差集 a.items() - b.items() b.items() - a.items()
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。
精彩评论