2013-11-04 48 views
0

這很尷尬,但我不能讓這段簡單的代碼工作。Python 3中使用附加函數的庫是什麼

big = {} 
small = [ 10, 20, 30 ] 

print (small) 
print (big.append(small)) 

給定的錯誤是:

print (big.append(small)) 
AttributeError: 'dict' object has no> attribute 'append' 

我猜「追加」使用庫,但我找不到任何地方。 這個錯誤的解決方案是什麼?

+0

什麼是你想在這裏實現?當你叫'big.append(small)'時,你期望發生什麼? –

+0

我打算用小陣列填充大陣列。代碼被簡化了,但基本上是這樣的,使用小數組中的數據填充大數組 –

+0

您可能正在談論列表對象,而不是數組(Python中有區別)。但'big'是*字典*,不是列表。 –

回答

4

.append()是方法列表對象,而不是在字典上。

要將值添加到字典中,你需要將其分配給一個鍵:

big['small'] = small 

沒有Python庫,讓你在一本字典使用.append()

如果big意味着是一個列表爲好,然後使它的列表:

>>> big = [] 
>>> small = [10, 20, 30] 
>>> big.append(small) 
>>> big 
[[10, 20, 30]] 

但要注意,list.append()改變就地列表,並返回None;試圖打印返回值big.append(small)將不會打印新列表。

另請注意,list.append()將追加small列表作爲一個值,從而產生一個嵌套列表。如果你想的small添加元素big,使用list.extend()

>>> big = [] 
>>> small = [10, 20, 30] 
>>> big.append(small) 
>>> big 
[10, 20, 30] 
+0

就像一個sharm一樣工作!謝謝! –

相關問題