小编Dan*_*Hao的帖子

合并2个字典,如果有公共键则尝试更新总和?

我有两本词典,我需要将它们合并起来。但如果一个键在两个字典中都有,则新值必须是前两个值的和。这就是我尝试过的:

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。我怎样才能解决这个问题?

python dictionary

1
推荐指数
1
解决办法
128
查看次数

查找一系列数字的 run_length 并输出为 (digit, count) 的元组

给定一个整数,我需要创建一个元组列表,以便在每个元组中,第一个条目是数字的数字,第二个条目是其频率。这应该从数字的左侧开始,并且数字的顺序很重要。例如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)

python

0
推荐指数
1
解决办法
96
查看次数

标签 统计

python ×2

dictionary ×1