2015-02-10 77 views

回答

0

你是什么意思?将var分配给“名称”计算结果为“abc”的字典?在这种情况下,

var = {'name': 'abc'} 

否则,我不知道你在问什么。

2

globals()方法返回一个字典,其中包含全局范围的所有名称。您可以使用它来创建一个名称存储在另一个变量中的变量。类似这样的:

>>> var = 'abc' 
>>> globals() 
{'__builtins__': <module '__builtin__' (built-in)>, '__name__': '__main__', 'var': 'abc', '__doc__': None, '__package__': None} 
>>> globals()[var] = {} 
>>> abc 
{} 
>>> globals() 
{'abc': {}, '__builtins__': <module '__builtin__' (built-in)>, '__package__': None, 'var': 'abc', '__name__': '__main__', '__doc__': None} 
>>> abc['p0'] = 2 
>>> abc 
{'p0': 2} 
>>> 
+0

如果在范围内使用locals()是更安全的选择。 – 2015-02-10 09:38:45

+1

@Iskren我最初提到'locals()',但后来发现它有这里指定的问题:http://stackoverflow.com/a/8028772/377953 – taskinoor 2015-02-10 09:55:19