Python列表切片的特殊妙用

假如,我们拥有一个如下列表:

>>> nums = [i for i in range(10)]
>>> nums
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

我们此时通过切片获取列表的前三个值

>>> nums[:3]
[0, 1, 2]

通过切片的方法获取到了前三个值,此时如果我们想一次性替换这三个值,只需要给切片赋值一个等长的列表,他会逐一替换

>>> nums[:3] = [33, 44, 55]
>>> nums
[33, 44, 55, 3, 4, 5, 6, 7, 8, 9]

如果,我们切片的长度大于赋值的列表长度,那么会把整个切片按赋值顺序替换,超出部分直接就删除了

>>> nums[:3] = [77,88]
>>> nums
[77, 88, 3, 4, 5, 6, 7, 8, 9]

如果,我们切片的长度小于赋值的列表长度,超出部分则会自动按顺序新增

>>> nums[:3] = [100, 102, 104, 105, 109, 110, 120, 119]
>>> nums
[100, 102, 104, 105, 109, 110, 120, 119, 4, 5, 6, 7, 8, 9]

这就是python 列表切片的几个小技巧,还有更多妙用后续再补充!

posted @ 2022-08-23 23:44  幸福关中  阅读(74)  评论(0编辑  收藏  举报