列表中的切片賦值與直接賦值
雖然切片是從列表中提取元素的常見操作,但它在賦值中的使用可以令人困惑。讓我們來比較一下切片賦值和直接賦值的差異。
直接賦值
a_list = ['foo', 'bar']
這會將一個新清單賦值給名稱 a_list。 a_list 中儲存的原始值將被丟棄,新清單成為 a_list 引用的唯一物件。
切片賦值
a_list[:] = ['foo', 'bar']
相反,切片賦值操作不同。它呼叫 a_list 物件上的 __setitem__ 方法,使用切片作為索引,並使用新列表作為值。
主要區別
其他應用程式
除了切片整個清單之外,切片賦值也支援進階操作,例如:
但是,對於擴充切片(步長不等於1),右側可迭代物件必須具有正確的長度以匹配切片。
以上是切片分配與直接分配:何時使用哪一種方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!