列表中的切片赋值与直接赋值
虽然切片是从列表中提取元素的常见操作,但它在赋值中的使用可以令人困惑。我们来比较一下切片赋值和直接赋值的区别。
直接赋值
a_list = ['foo', 'bar']
这会将一个新列表赋值给名称 a_list。 a_list 中存储的原始值将被丢弃,新列表成为 a_list 引用的唯一对象。
切片赋值
a_list[:] = ['foo', 'bar']
相反,切片赋值操作不同。它调用 a_list 对象上的 __setitem__ 方法,使用切片作为索引,使用新列表作为值。
主要区别
其他应用程序
除了切片整个列表之外,切片赋值还支持高级操作,例如:
但是,对于扩展切片(步长不等于 1),右侧可迭代对象必须具有正确的长度以匹配切片。
以上是切片分配与直接分配:何时使用哪种方法?的详细内容。更多信息请关注PHP中文网其他相关文章!