创建一个函数,该函数使用字典的键和值来创建新值

时间:2018-02-16 18:26:36

标签: python dictionary

我正在尝试提出一个带有两个输入(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()},这显然不起作用),但不确定这是否是正确的方法,并且无法弄清楚如何让这个加法部分工作正确。什么是干净/简单的方法,以便能够使用一堆不同的输入?

3 个答案:

答案 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