Python:如何定义多个相同类型的变量?

5 投票
8 回答
13635 浏览
提问于 2025-04-16 08:21

可能这个问题已经有人问过了,但我用这些词搜索时找不到答案。

在Python中有没有更快的方法来做到这一点?

level1 = {}
level2 = {}
level3 = {}

我试过

level1 = level2 = level3 = {}

但是那样似乎会创建对象的副本,这不是我想要的。而且

level1, level2, level3 = {}

会报错。

8 个回答

13

你可以这样做:

level1, level2, level3 = {}, {}, {}
18
level1 = level2 = level3 = {}

这段代码不会创建副本。它让不同的引用(level{1-3})指向同一个对象。你可以用列表推导式来代替:

level1, level2, level3 = [{} for dummy in range(3)]

或者用更容易理解的方式:

level1, level2, level3 = {}, {}, {}
15

你的变量命名可能说明你的设计还有改进的空间。与其用三个单独的变量,不如用一个列表来处理这些数据,这样可能会更好:

levels = [{}, {}, {}]

撰写回答