2010-02-19 123 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) 

如果你想讓他們全部初始化爲約`一個東西比[]

相關問題