我有两本词典,我需要将它们合并起来。但如果一个键在两个字典中都有,则新值必须是前两个值的和。这就是我尝试过的:
dict1 = {
"Elizabeth Alexandra Mary": 250000,
"Barack Hussein Obama II": 1750000,
"Zhang Aiqin": 1000,
"Dean Craig Pelton": 1000000,
}
dict2 = {
"Christopher Larkin": 50000,
"Eyal Shani": 5000,
"Dean Craig Pelton": 2500000,
"Sheldon Cooper": 15600000
}
dict1.update(dict2)
print('Updated dictionary:')
print(dict1)
Run Code Online (Sandbox Code Playgroud)
但Dean Craig Pelton的价值是2500000,而不是我想要的3500000。我怎样才能解决这个问题?
给定一个整数,我需要创建一个元组列表,以便在每个元组中,第一个条目是数字的数字,第二个条目是其频率。这应该从数字的左侧开始,并且数字的顺序很重要。例如11122311会导致[('1', 3), ('2', 2),('3',1),('1',2)].
我不想使用内置函数,例如groupby.
我试图迭代字符串的元素,只要它们相同,然后剪切这些数字并再次迭代,直到字符串列表的长度为零。不幸的是我无法成功地实现这一点。任何帮助表示赞赏。谢谢。
def compress(n):
L = []
while len(str(n)) != 0:
for i in range(len(str(n))):
for j in range(len(str(n))):
if str(n)[i] == str(n)[i+j]:
L.append((str(n)[i],j))
str(n) = str(n)[j:]
return L
print(compress(11122))
Run Code Online (Sandbox Code Playgroud)