如何从现有字符串中选择新列表的名称?

时间:2016-09-19 16:29:51

标签: python

我对python很新,我无法解决这个问题。在一个循环中,我有一个包含一些数字的列表和一个包含所需列表名称的字符串。我想创建一个与现有列表相同的新列表,根据字符串中的名称命名它。

values = [1,2,3] name='Ehu'

我需要的是一个名为'Ehu'的新列表,其中包含与列表值相同的项目,但我不知道如何从现有字符串中选择新列表的名称。

由于

2 个答案:

答案 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]