2013-10-13 84 views
-1

我得到一個屬性錯誤下面的代碼:屬性錯誤蟒蛇

coininfo = [ {} for k in range(0,numberOftrials)] 

coininfo[i].append([x,outcome(x)]) 

以下是確切的錯誤畫面我得到:

Traceback (most recent call last): 
    File "pr1.py", line 22, in <module> 
runsimulation(numberOftrials,numberOfcoins) 
    File "pr1.py", line 19, in runsimulation 
coininfo[i].append([x,outcome(x)]) 
AttributeError: 'dict' object has no attribute 'append' 

任何幫助表示讚賞!

+1

爲什麼你可以追加()的字典? append()顯然是一個列表方法,而不是一個字典方法。 –

+0

@ user2799617:因爲我對Python非常陌生,所以我不知道有兩種方法(list&dict)。我只是按照類似的線索給出的指示!下次我會更加小心! –

回答

0

當運行

coininfo = [ {} for k in range(0,numberOftrials)] 

你結束了字典的陣列,而不是數組的數組。因此coininfo[i]是一個字典,你不能追加到它。

我的猜測是,你想你的第一個行更改爲

coininfo = [ [] for k in range(0,numberOftrials)] 

所以你不是有一個數組的數組。選擇,如果你的意思是你的輸出是字典的一個數組,你可能意味着有

coininfo[i][x] = outcome(x) 

代替

coininfo[i].append([x,outcome(x)])