我正在寻找一种无需显式编写键来创建字典的方法。
我想创建一个函数,该函数获取变量数量并创建一个字典,其中变量名是键,它们的值是变量值。
与编写以下函数不同:
def foo():
first_name = "daniel"
second_name = "daniel"
id = 1
return {'first_name':first_name, 'second_name':second_name}
我想使用这个函数得到相同的结果:
create_dict_from_variables(first_name, second_name)
有没有什么方法可以这样做?
d = dict(((k, eval(k)) for k in ('foo', 'bar')))
这段代码在命令行或脚本中可以正常工作,但一旦放入函数中就会失败,我无法找出原因。 - Kevina = [1,2]
和b = [10,20,30]
以及keys = ['a','b']
,并尝试使用d = dict(((k, eval(k)) for k in keys))
来定义d。那么为什么这个命令在命令行上运行时可以正常工作,但在函数中却不行呢?这是作用域的问题吗? - Kevin