将一个类的多个实例分配给变量

mgs*_*mgs 2 python

蟒蛇.我需要为多个变量分配多个类实例.首先我试过这个:

a = b = c = []
Run Code Online (Sandbox Code Playgroud)

但他们都指的是同一个对象,这不是我需要的.这效果更好:

(a, b, c) = [[] for i in range(3)]
Run Code Online (Sandbox Code Playgroud)

但它似乎有点过于冗长.有没有更短的方法来做到这一点?

更新:好的,所以这不是真正的Pythonic将所有东西塞进一行,问题解决了.

但如果这样做有点真的很酷:

a,b,c = []*3
Run Code Online (Sandbox Code Playgroud)

此行创建对同一对象的三个引用:

a,b,c = [[]] * 3
Run Code Online (Sandbox Code Playgroud)

那好吧...

Adr*_*son 8

只是:

a = []
b = []
c = []
Run Code Online (Sandbox Code Playgroud)

(python不是perl,不需要单行)

  • 这将意图传达给不是本机Python程序员的人,所以我最喜欢这段代码. (2认同)