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

Python 创建一个函数,该函数使用字典的键和值来创建新值,python,dictionary,Python,Dictionary,我试图提出一个简单的函数,它接受两个输入(dict key和dict value),并为字典返回一个新值。我希望它能够被广泛的案例所调用,而不仅仅是一个具体的例子 示例输入如下所示: dict = {1: 11, 2: 12, 3: 13, 4: 14, 5: 15} new_dict = {1: 12, 2: 14, 3: 16, 4: 18, 5: 20} for i in dict: new_dict[i] = dict[i] + i 输出结果如下所示: dict = {1:

我试图提出一个简单的函数,它接受两个输入(dict key和dict value),并为字典返回一个新值。我希望它能够被广泛的案例所调用,而不仅仅是一个具体的例子

示例输入如下所示:

dict = {1: 11, 2: 12, 3: 13, 4: 14, 5: 15}
new_dict = {1: 12, 2: 14, 3: 16, 4: 18, 5: 20}
for i in dict:
    new_dict[i] = dict[i] + i
输出结果如下所示:

dict = {1: 11, 2: 12, 3: 13, 4: 14, 5: 15}
new_dict = {1: 12, 2: 14, 3: 16, 4: 18, 5: 20}
for i in dict:
    new_dict[i] = dict[i] + i

我试图使用类似于dict理解的东西(
new_dict={k:v+k,v in dict.items()}
,这显然不起作用),但不确定这是否是正确的方法,也不知道如何让添加部分正确工作。什么是一种干净/简单的方法来处理一系列不同的输入?

您只是缺少列表中的

new_dict = {k:v + k for k, v in dict.items()}

首先,
dict
已经存在,您不应该以您以前的方式使用它

第二,你缺少理解的重要部分,那就是

这就是它不起作用的原因

其工作原理如下:

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}

你可以这样做:

dict = {1: 11, 2: 12, 3: 13, 4: 14, 5: 15}
new_dict = {1: 12, 2: 14, 3: 16, 4: 18, 5: 20}
for i in dict:
    new_dict[i] = dict[i] + i

对于词典理解,您没有完全正确地理解syntx。它应该读起来像
for
循环
{k:k+v for k,v in d.items()}
。另外,不要使用名称
dict
,已经有一个具有该名称的内置函数。
dict
不是一个函数。你可以改写它(虽然你显然不应该没有充分的理由)你的意思是“听写理解”?