hdml指的是什么接口
976
2022-08-27
【Python】列表(list)分片的扩展用法(python list分片)
文章目录
列表分片用法一:打印列表元素分片列表分片用法二:给列表元素赋值,可一次赋值多个元素列表分片用法三:不替换原有元素情况下加入新元素列表分片用法四:删除元素参考链接
列表分片用法一:打印列表元素分片
li = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]print(li[2:4]) # [2, 3] 分片结果
分片格式列表名[起始索引:结束索引] 若是print分片结果,元素包含起始索引,而不包含结束索引
列表分片用法二:给列表元素赋值,可一次赋值多个元素
示例一:
l = list("0123456789")print(l) #['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']l[6:] = list("abcdef")print(l) #['0', '1', '2', '3', '4', '5', 'a', 'b', 'c', 'd', 'e', 'f']l[5:8] = ["g"] #将列表中索引为5到7元素赋值,索引5元素(原值5)赋值为g,索引6和索引7(原值a,b)元素删除print(l) #['0', '1', '2', '3', '4', 'g', 'c', 'd', 'e', 'f']
示例二:
li = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]li[1:4] = 1, # [0, 1, 4, 5, 6, 7, 8, 9]li[1:4] = "13456", # [0, '13456', 4, 5, 6, 7, 8, 9]li[1:4] = "13456" # [0, '1', '3', '4', '5', '6', 4, 5, 6, 7, 8, 9]li[1:4] = "as" # [0, 'a', 's', 4, 5, 6, 7, 8, 9]li[1:4] = 1 # TypeError: can only assign an iterableli[1:4:2] = 1, 2 # [0, 1, 2, 2, 4, 5, 6, 7, 8, 9]li[1:4:2] = 1, # ValueError: attempt to assign sequence of size 1 to extended slice of size 2li[1:4:2] = "123" # ValueError: attempt to assign sequence of size 3 to extended slice of size 2li[1:4:2] = "as" # [0, 'a', 2, 's', 4, 5, 6, 7, 8, 9]li[1:4:2] = "asd" # ValueError: attempt to assign sequence of size 3 to extended slice of size 2print(li)
总结:切片的只能放迭代类型的数据 带步长的必须可丁可卯的,一个位置一个数据
示例三:
>>> l = list("123456789")>>> l[2::2] = list("hi")Traceback (most recent call last): File "
还是一样,带步长必须填满数据,空位不能有多余或者不足
列表分片用法三:不替换原有元素情况下加入新元素
>>> l = list("abcd")>>> l ['a', 'b', 'c', 'd']>>> l[2:2] = list("12") #若是直接print(l[2:2]),结果是[]; 若是给l[2:2]赋值,则是在索引2处插入新元素>>> l ['a', 'b', '1', '2', 'c', 'd']
列表分片用法四:删除元素
l = list("world")l[2:-1] = [] # 等效于del l[2:-1] , 若是l[2:-3] = [] 则不删除任何元素print(l) # ['w', 'o', 'd']res=''.join(l)print(res) # wod
参考链接
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~