如果key已经在dict(python)中,则向dict添加值并将列表项的值增加1

时间:2017-02-21 19:30:06

标签: python dictionary

如果密钥存在,则向dict添加值并使用简单的if语句将值设置为+ 1可以正常工作:

d = {word: (frequency, wordList[1]) for frequency, word in sorteddict}
for key, value in d.items():
    my_dict[key, value] = my_dict[key, value] + 1 if key in my_dict else value

我想迭代dict" d"将所有键值对添加到dict" my_dict"。

我遇到的问题是dict是关键:列表对,如果密钥存在,我只想增加list [0]的值。例如:

d = {'smith': (1, 'jones')}

my_dict = {'smith': (2, 'jones')}

my_dict已经包含密钥' smith'所以逻辑是:

+ 1 to list[0] else 1

1 个答案:

答案 0 :(得分:1)

澄清问题和答案: 问题是有两个词组 d my_dict 。每个值都是一个包含2个项目的元组。我们想要的是生成一个新的dict,它具有 d 的键和值,但如果键存在于 my_dict 中,则值元组的第一项增加1或者如果没有,则设置为1。我们会这样做:

{x: (y[0] + 1 if x in my_dict else 1, y[1]) for x, y in d.items()}
相关问题