如何使用列表名称从字符串变量(how to use list name from string va

2019-09-17 03:00发布

我生成使用列表理解这些2名列表。

lists = ['month_list', 'year_list']
for values in lists:
    print [<list comprehension computation>]

>>> ['2012', '2011', '2010', '2009', '2008', '2007', '2006', '2005', '2004', '2003']
>>> ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']

我想这两个动态生成的列表添加到这个列表的名称。
例如 :

month_list = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']  
year_list = ['2012', '2011', '2010', '2009', '2008', '2007', '2006', '2005', '2004', '2003']

Answer 1:

month_list = []
year_list = []
lists = [month_list, year_list]
dict = {0 : year_list, 1:month_list}

for i, values in enumerate(data[:2]):
    dict[i].append(<data>)

print 'month_list - ', month_list[0]
print 'year_list - ', year_list[0]

>>> month_list -  ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
>>> year_list -  ['2012', '2011', '2010', '2009', '2008', '2007', '2006', '2005', '2004', '2003']


Answer 2:

听起来像你对我应该使用的引用而不是名称。

lists = [month_list, year_list]

但列表内涵只能创建一个列表不管,所以你需要重新考虑你的问题。



Answer 3:

您可以添加全局变量到MODUL的命名空间,并用这种方法连接值,将其:

globals()["month_list"] = [<list comprehension computation>]

了解更多关于在Python文档的命名空间。

或者你可以在一个新的字典存储这些列表。

your_dictionary = {}
your_dictionary["month_list"] = [<list comprehension computation>]


Answer 4:

为什么首先使用字符串?

为什么不这样做?

lists = [month_list, year_list]
for list_items in lists:
    print repr(list_items)

在定义了两个列表?



文章来源: how to use list name from string variable