将字典键更改为变量名在Python函数内部不起作用

时间:2018-07-30 15:07:44

标签: python python-3.5

我正在执行以下操作:

def fn2Test(inp):
    for k, v in inp.items(): exec (k + '=v')
    print (key1 + key2)

if __name__ == '__main__':
    mydict = {'key1':5, 'key2':30}
    fn2Test(mydict)
    z = 5

错误是:

print (key1 + key2)
NameError: name 'key1' is not defined

但是以下代码有效:

if __name__ == '__main__':
    mydict = {'key1':5, 'key2':30}
    for k, v in mydict.items(): exec (k + '=v')
    print(key1 + key2)

当我有一个带有100个键的字典时,如何修改功能版本?由于代码的祖先版本,这是我唯一可用的途径,而且此版本看起来更易于实现。

0 个答案:

没有答案