我是 Python 的新手。在初始化列表時mylist = list()mylist[0]="hello"給出錯誤。它只有效mylist.append("hello")但如果我用字典做同樣的事情mydict ={}mydict["one"]="hello"有用。為什么我不需要做mydict['one'].append('hello')為什么不同結構的東西是不同的。
2 回答

達令說
TA貢獻1821條經驗 獲得超6個贊
如果您更新這樣的字典:
d['c'] = 3
......該字典中不需要d['a']
和d['b']
(或任何項目,就此而言)。字典項的鍵并不暗示 dict 對象的任何特定結構屬性。
但是,如果您想更新這樣的列表:
l[5] = 'a'
...索引 0 到 5 絕對必須存在。索引不僅用作列表中元素的句柄,而且還具有結構屬性。如果l[5]
確實存在,您可以絕對確定索引 0 到 4 也是如此。而你需要那種確定性。
想象一下,你可以l[5] = 'a'
在一個空列表上做。會len(l)
返回什么?1?6?這兩種情況都會導致失?。?/p>
for i in range(len(l)): print(l[i])
有人可能會爭辯說,如果 index-1 已經存在,或者如果列表為空且所需的索引為 0 ,則l[<index>] = 'a'
可以隱式附加該值。 為了使其可靠地工作,您需要在添加值之前確保index-1 存在,例如這一點,而在使用 append() 時,您可以保證您的值將添加到列表中(除了潛在的邊緣情況,如內存不足)。

汪汪一只貓
TA貢獻1898條經驗 獲得超8個贊
如果您將元素添加到字典中,您將連接到一個鍵。在您的情況下,您將元素連接'hello'
到您的密鑰'one'
要將元素添加到列表中,您必須使用該函數list.append
。您list[x]
用來獲取位置 x 處的元素。
添加回答
舉報
0/150
提交
取消