2010-02-19 138 views
2

Python。我需要为多个变量分配多个类实例。首先我试过这个:将一个类的多个实例分配给变量

a = b = c = [] 

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

(a, b, c) = [[] for i in range(3)] 

但它似乎有点太冗长。有没有更简单的方法来做到这一点?

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

但如果这个工作这会是真的很酷:

a,b,c = []*3 

而此行创建了三个引用相同的对象:

a,b,c = [[]] * 3 

哦...

+2

好吧,其他所以你怎么能使用这些= []; b = []; c = []'如果你不想引用同一个对象? – ghostdog74 2010-02-19 08:06:14

回答

9
a, b, c = [], [], [] 
8

简单:

a = [] 
b = [] 
c = [] 

(pyt鸿海是不是perl的,也没有必要为单行)

+2

这将意图传达给不是本地Python程序员的人,所以我最喜欢这段代码。 – 2010-02-19 11:16:55

0
a = [] 
b = a[:] 
import copy 
c = copy.copy(b) 

如果你想让他们全部初始化为约`一个东西比[]

相关问题