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

AP2*_*257 4 python

可能是重复的,但至少通过搜索这些术语我找不到答案.

有没有更快的方法在Python中执行此操作?

level1 = {}
level2 = {}
level3 = {}
Run Code Online (Sandbox Code Playgroud)

我试过了

level1 = level2 = level3 = {}
Run Code Online (Sandbox Code Playgroud)

但这似乎创建了对象的副本,这不是我想要的.和

level1, level2, level3 = {}
Run Code Online (Sandbox Code Playgroud)

抛出错误.

nil*_*ils 16

level1 = level2 = level3 = {}
Run Code Online (Sandbox Code Playgroud)

不创建副本.它允许将级别{1-3}引用到同一对象.您可以使用列表理解:

level1, level2, level3 = [{} for dummy in range(3)]
Run Code Online (Sandbox Code Playgroud)

或更具可读性:

level1, level2, level3 = {}, {}, {}
Run Code Online (Sandbox Code Playgroud)

  • 在Python白话中,`dummy`更好地用单个下划线`_`表示 (8认同)

Mar*_*ers 14

您的变量命名可能是您的设计可以改进的标志.使用列表而不是三个单独的变量可能更好:

levels = [{}, {}, {}]
Run Code Online (Sandbox Code Playgroud)

  • 或者就此而言`levels = []`并在制作它们时添加你的词典 (2认同)

Sam*_*lan 12

你可以做到

level1, level2, level3 = {}, {}, {}
Run Code Online (Sandbox Code Playgroud)