def count_dicts(dict1, dict2):
differ = set(dict1) ^ set(dict2)
same = set(dict1) & set(dict2)
# print(same)
# print(differ)
for key in same:
dict1[key] += dict2[key]
for key in differ:
if key not in dict1.keys():
dict1[key] = dict2[key]
def main():
dict1 = {'a': 10, 'b': 8, 'c':10}
dict2 = {'d': 6, 'c': 4}
dict3 = {'d': 7, 'c': 1, 'e': 6}
count_dicts(dict1, dict2)
count_dicts(dict1, dict3)
print(dict1)
if __name__ == '__main__':
main()
{'a': 10, 'b': 8, 'c': 15, 'd': 13, 'e': 6}
也可以对两个list求差集, 并集
a = [1, 2, 3, 4]
b = [2, 4, 6, 8]
#方法一:
# same = [i for i in a if i in b]
# differ = [j for j in (a + b) if j not in same]
#方法二:
same = set(a) & set(b)
differ = set(a) ^ set(b)
print(same)
print(differ)
'''
output:
{2, 4}
{1, 3, 6, 8}
'''
set是数学意义上无序和无重复元素的集合,因此可以做数学意义上的交集并集等 使用dict和set