在蟒蛇,我想建立使用字典get方法在默認情況下提供一個空列表數組的字典,然後用信息,例如填充:Python:使用Dictionary get方法默認返回空列表返回None!
dict = {}
for i in range(0, 10):
for j in range(0, 100):
dict[i] = dict.get(i, []).append(j)
然而,當我嘗試上面的代碼我沒有得到任何異常,但我的名單結束了類似如下:
AttributeError: 'NoneType' object has no attribute 'append'
列表有一個附加的方法,所以我簡化我的測試以下:
dict = {}
for i in range(0, 10):
dict[i] = dict.get(i, []).append(i)
輸出功率爲以下幾點:
{0: None, 1: None, 2: None, 3: None, 4: None, 5: None, 6: None, 7: None, 8: None, 9: None}
所以我的問題是,默認情況下,爲什麼dict.get(I,[])返回無,而不是[]?做dict.get(我,列表())有同樣的問題,所以我有點難住。
請不要使用'dict'作爲變量名。它與內置的'dict'類相沖突。 – 2011-04-24 17:49:45
我通常不這樣做,我只是想清楚變量是什麼。 – Danielb 2011-04-24 18:03:07
你不想''dict [i] ='在'setdefault'前面。看到我編輯的答案。 – Gabe 2011-04-24 18:14:28