Python基础——列表(list)给切片赋值

可同时给列表中多个元素赋值,且元素个数不必相同

>>> l = list("0123456789")
>>> l
['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
>>> l[6:] = list("abcdef")
>>> l 
['0', '1', '2', '3', '4', '5', 'a', 'b', 'c', 'd', 'e', 'f']
>>> l[5:8] = ["g"]
>>> l 
['0', '1', '2', '3', '4', 'g', 'c', 'd', 'e', 'f']

也可以不替换原有元素情况下加入新元素

>>> l = list("abcd")
>>> l 
['a', 'b', 'c', 'd']
>>> l[2:2] = list("12")
>>> l 
['a', 'b', '1', '2', 'c', 'd']

当然,也可以删除元素,下面代码与del l[2:-3]等效

>>> l = list("world")
>>> l 
['w', 'o', 'r', 'l', 'd']
>>> l[2:-3] = []
>>> l 
['w', 'o', 'r', 'l', 'd']
>>> ''.join(l)
'world'

当然,步长可以不为1:

>>> l = list("123456789")
>>> l[2::2] = list("hi")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: attempt to assign sequence of size 2 to extended slice of size 4
>>> l[2::2] = list("abcd")
>>> l 
['1', '2', 'a', '4', 'b', '6', 'c', '8', 'd']

ValueError: attempt to assign sequence of size 2 to extended slice of size 4

可见步长为n时切片赋值,是将第二个列表中的每一个元素每隔n-1插入。

默认步长为一,即隔0个插入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值