我目前正試圖弄清楚如何用一個給定元素填充列表,覆蓋列表中其餘元素。所以用一個元素完全替換給定列表中的每個元素。 我怎樣才能用零填充一個列表,覆蓋列表中的所有元素?替換元素並刪除所有元素
的列表中的值= [1,2,3,4,5]是有辦法使它所以列表是值= [0,0,0,0,0]
和是有一種方法可以從列表中刪除所有元素? 因此對於值= [1,2,3,4,5]使其值[]?
我目前正試圖弄清楚如何用一個給定元素填充列表,覆蓋列表中其餘元素。所以用一個元素完全替換給定列表中的每個元素。 我怎樣才能用零填充一個列表,覆蓋列表中的所有元素?替換元素並刪除所有元素
的列表中的值= [1,2,3,4,5]是有辦法使它所以列表是值= [0,0,0,0,0]
和是有一種方法可以從列表中刪除所有元素? 因此對於值= [1,2,3,4,5]使其值[]?
>>> x = [1, 2, 3]
>>> x[:] = [0] * len(x)
>>> x
[0, 0, 0]
說明:左側是所有指數片,分配給片是允許的,而右手邊是產生重複的元素列表的很好的語法。
與此相關的,永遠不要做:
>>> a = [[0] * 5] * 5
>>> a
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
因爲那麼像這樣的事情會發生:
>>> a[0][0] = 3
>>> a
[[3, 0, 0, 0, 0], [3, 0, 0, 0, 0], [3, 0, 0, 0, 0], [3, 0, 0, 0, 0], [3, 0, 0, 0, 0]]
要更換所有元素與一個列表值:
values = [0] * len(values)
這重複0
根據需要多少次來組成列表的長度,然後將其分配給values
。做不是使用此方法與可變對象一樣自定義類!
要清空列表,指定名稱爲空列表:無功能
values = []
'values = ...'不會更改原始列表對象。 – vaultah
不,但它會用空列表覆蓋名稱'values',這似乎是OP所要求的。最終結果是一樣的。如果我錯了,請糾正我。 –
區別在於,如果我在代碼之前運行'values_copy = values',那麼'values_copy'將保留爲原始列表。 –
使用clear()或者只是用新的空列表覆蓋,我猜。
x = [1, 2, 3]
[0 for elem in x]
x.clear()
我喜歡!順利把戲@亞歷霍爾 – vikingben
做列表索引值必須是整數 – expertinthemaking22
@ expertinthemaking22索引是整數,值(列表的內容)可以是任何東西。 –