Python中的大量变量声明和赋值

时间:2011-04-26 15:22:26

标签: python python-2.x

尝试创建一批词典: 一月= {} 二月= {} 三月= {}

我宁愿做类似的事情: 1月,2月,3月...... = {}

当然不起作用。

最终,我想要创建这些词典的字典:

MONTHS_DICT = {'01':January,'02':二月......}

逐行完成它并不是很多代码,但我只是在学习Python而且....做一些重复的事情通常会告诉我它可以通过其他方式更高效地完成。

思考?

P.S。我正在使用python 2.x但是如果在这个例子中使用3会有一些帮助,那不是问题。

3 个答案:

答案 0 :(得分:7)

January, February, March = {}, {}, {}

这是进行初始声明的一种更简洁的方式。

答案 1 :(得分:4)

如果您不使用它们,为什么要将月份名称作为变量?你可以简单地写一下

month_dicts = [{} for _ in range(12)] # twelve dicts
numbers = ["%02d" % x for x in range(1,13)] # strings "01" ... "12"

# the dict
MONTHS_DICT = dict(zip(numbers, month_dicts))
# the dict for March
MONTHS_DICT["03"]

答案 2 :(得分:3)

小心!

您可以这样做:

foo = bar = baz = ''

但是你不能做

foo = bar = baz = {}

由于引用,没有foobarbaz都指向同一个变量!

>>> foo = bar = baz = {}
>>> bar
{}
>>> foo
{}
>>> baz
{}
>>> foo['test'] = 1
>>> foo
{'test': 1}
>>> bar
{'test': 1}
>>> baz
{'test': 1}

将空字典分配给多个变量的最简洁的方法可能是:

foo, bar, baz = {}, {}, {}