我在切片分配方面遇到了一些问题:
据我所知,切片的一般语法是l [start:stop:step]
当我们使用正步骤然后我们向前横向时,当我们使用负步骤时我们向后横向:1 = [1,2,3,4]
1 [3:1:1] = [5]
当我使用上面的赋值时,它将元素5插入索引3,如插入操作 但是当我使用的时候 升[-3:-1:-1] = [5] 然后它显示我的价值错误.... 我很困惑.. 请解释一下。
答案 0 :(得分:0)
假设您在 Python 中询问切片, 步骤' part将使切片成为扩展切片。
只有右侧的列表才能分配扩展切片 手侧与扩展切片的大小相同。 看到 https://docs.python.org/2.3/whatsnew/section-slices.html
所以令人困惑的事实是你的l[3:1:1] = [5]
不 加注
一个ValueError,因为左右大小不同(0和1;注意
您的l[3:1:1]
和l[-3:-1:-1]
评估为空列表。
我认为这可以解释为步骤1没有区别
来自原始切片语法[start:end]
,因此可以处理
作为正常切片。
如果您的目标是插入,请不要使用该步骤。