尽管可能存在更有效的方法,但这是一种方法。
d1 = {1:30, 2:20, 3:30, 5:80}d2 = {1:40, 2:50, 3:60, 4:70, 6:90}d_intersect = {} # Keys that appear in both dictionaries.d_difference = {} # Unique keys that appear in only one dictionary.# Get all keys from both dictionaries.# Convert it into a set so that we don't loop through duplicate keys.all_keys = set(d1.keys() + d2.keys()) # Python2.7#all_keys = set(list(d1.keys()) + list(d2.keys())) # Python3.3for key in all_keys: if key in d1 and key in d2: # If the key appears in both dictionaries, add both values # together and place it in intersect. d_intersect[key] = d1[key] + d2[key] else: # Otherwise find out the dictionary it comes from and place # it in difference. if key in d1: d_difference[key] = d1[key] else: d_difference[key] = d2[key]输出:
{1:70,2:70,3:90}
{4:70,5:80,6:90}



