我已经在这件事上工作了几个小时,仍然无法弄清楚:O
我遇到的问题是这个。假设我有一个字典,其中 4 元素元组作为元素,整数作为键。当从整个字典(属于每个元组)中删除一个元素时,使两个元组(元素)相同,这两个元组的键不会相加。相反,形成了一个新元素,该元素的键是前两个键之一。
假设我有一本字典:
dict={('A','B','D','C'): 4, ('C','B','A','D'):5, ('D','A','C','B'):3,('D','A','B','C'):1}
现在我想从整个字典中删除一个字母。例如,如果我想删除“B”。以下新字典已形成,但未返回,因为其中两个元素相同。
{('A','D','C'): 4, ('C','A','D'):5, ('D','A','C'):3,('D','A','C'):1}
这不是('D','A','C'):3,('D','A','C'):1
成为('D','A','C'):4
,而是最终发生的事情:
('D','A','C'):3
与其他元组一起
所以基本上,其中一个元组消失了。
这是我目前使用的方法:
for next in dict:
new_tuple=()
for i in next:
if i!='A':
new_tuple+=(i,)
new_dict[new_tuple]=dict[next]
上面的代码返回 new_dict 如下:
{('A','D','C'): 4, ('C','A','D'):5, ('D','A','C'):3}
那么我该怎么做,从整个字典中的每个元组中删除一个字母,如果两个元组看起来相同,它们合并并且键加起来?