我正在尝试提出一个带有两个输入(dict键和dict值)的简单函数,并为字典返回一个新值。而且我希望能够为大量案例调用它,而不仅仅是一个特定的实例。
示例输入如下所示:
dict = {1: 11, 2: 12, 3: 13, 4: 14, 5: 15}
,输出如下:
new_dict = {1: 12, 2: 14, 3: 16, 4: 18, 5: 20}
我试图使用dict理解之类的东西(new_dict = {k:v + k, v in dict.items()}
,这显然不起作用),但不确定这是否是正确的方法,并且无法弄清楚如何让这个加法部分工作正确。什么是干净/简单的方法,以便能够使用一堆不同的输入?
答案 0 :(得分:7)
您只是错过了列表理解中的for
。
new_dict = {k:v + k for k, v in dict.items()}
答案 1 :(得分:0)
首先,dict
已经used for instantiating dictionaries,您不应该以您的方式使用它。
其次,你缺少理解中的重要部分,那就是for
。
这就是为什么它不起作用。
以下是它的工作原理:
a = {1: 11, 2: 12, 3: 13, 4: 14, 5: 15}
print {k: k+v for k, v in a.items()}
# {1: 12, 2: 14, 3: 16, 4: 18, 5: 20}
答案 2 :(得分:0)
你可以这样做:
for i in dict:
new_dict[i] = dict[i] + i