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']

我想将这 2 个动态生成的列表附加到此列表名称中。
例如 :

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']
4

4 回答 4

3

在我看来,您应该使用引用而不是名称。

lists = [month_list, year_list]

但是列表推导无论如何只能创建一个列表,因此您需要重新考虑您的问题。

于 2012-05-09T05:35:50.520 回答
2
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']
于 2012-05-09T07:04:31.760 回答
2

您可以将全局变量添加到模块的命名空间并使用此方法将值连接到它们:

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

阅读有关 Python 文档中命名空间的更多信息。

或者您可以将这些列表存储在新字典中。

your_dictionary = {}
your_dictionary["month_list"] = [<list comprehension computation>]
于 2012-05-09T10:43:21.513 回答
1

为什么首先使用字符串?

为什么不干...

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

在你定义了这两个列表之后?

于 2012-05-09T05:35:00.550 回答