如果名称在字符串变量中,如何通过名称访问对象?

时间:2017-07-20 15:35:39

标签: python python-3.x object

我有很多词典。我把他们的名字存储在一个列表中(作为字符串)。如何使用存储为字符串的名称以编程方式访问特定字典?

>>> dict1 = dict([('key1',1), ('key',2), ('key3',3)])
>>> dict1.keys()
dict_keys(['key2', 'key1', 'key3'])
>>> dictname = 'dict1'
>>> dictname.keys()
AttributeError: 'str' object has no attribute 'keys'

我理解为什么这不起作用,但可以通过其他方式完成吗?

1 个答案:

答案 0 :(得分:1)

也许是这样的(假设定义了dictname)?

dictname['dict1'] = dict1

如果不是:

dictname = {'dict1': dict1}

然后......

dictname['dict1'].keys()
>>> dict_keys(['key1', 'key2', 'key3'])