我对python很新,我无法解决这个问题。在一个循环中,我有一个包含一些数字的列表和一个包含所需列表名称的字符串。我想创建一个与现有列表相同的新列表,根据字符串中的名称命名它。
values = [1,2,3]
name='Ehu'
我需要的是一个名为'Ehu'的新列表,其中包含与列表值相同的项目,但我不知道如何从现有字符串中选择新列表的名称。
由于
答案 0 :(得分:1)
可以使用globals
完成:
>>> g = globals()
>>> name = 'Ehu'
>>> g['{}'.format(name)] = [1, 2, 3]
>>> Ehu
[1, 2, 3]
答案 1 :(得分:0)
虽然可以按照您的要求行事:
>>> globals()['Ehu'] = [1,2,3]
>>> Ehu
[1, 2, 3]
或局部变量:
>>> def f():
... f.__dict__['Ehu'] = [1,2,3]
... print(Ehu)
...
>>> f()
[1, 2, 3]
这是一种不好的做法。 @Moses评论的更好的解决方案:
>>> list_names = {}
>>> list_names['Ehu'] = [1,2,3]
>>> print(list_names['Ehu'])
[1, 2, 3]