如果密钥存在,则向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
答案 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()}