一、列表切片
切指–将某些东西切成小块。列表切片是从原始列表中提取列表的一部分的过程。在列表切片中,我们将根据所需内容(如,从何处开始,结束以及增量进行切片)剪切列表。
Python中符合序列的有序序列都支持切片(slice),例如列表,字符串,元组。
存储对象[start : end : step]
参数:
start : 起始索引,从0开始,-1表示结束
end:结束索引,不包含
step:步长;步长为正时,从左向右取值。步长为负时,反向取值
二、列表切片使用
(1)根据位置信息提取列表中的元素
ll = [5, 17, 13, 14, 8, 19, 3, 7, 9, 12]
print(ll)
#显示从中间到尾部的数
ss=int(len(ll)/2)
print(ll[ss:])
#最后一个
print(ll[-1])
#最后2个
print(ll[-2:])
#取3-8数
print(ll[2:8])
#取1-10中奇数 13579
print(ll[::2])
#取1-10中偶数 246810
print(ll[1::2])
'''切片健壮性的体现'''
# 使用切片操作就不会产生该问题,会自动截断或者返回空列表。
print(ll[0:20:3])
#就是说,不会产生下标越界问题
print(ll[21:])
(2) 使用切片逆序列表- 反转列表 (Reverse a List)
# 通过省略开始索引和停止索引并将步骤指定为 - 1 来反转列表
ll = [5, 17, 13, 14, 8, 19, 3, 7, 9, 12]
print(ll)
print(ll[::-1])
(3)修改多个列表元素值-可以使用切片赋值一次修改多个列表元素
ll = [5, 17, 13, 14, 8, 19, 3, 7, 9, 12]
print(ll)
#修改多个列表项
ll[1:3]=['pop','up']
print(ll)
#替换多个元件以代替单个元件
ll[-1:]=[True,False]
print(ll)
(4)插入多个列表元素 -在列表中插入项目,而无需替换任何内容
ll = [5, 17, 13, 14, 8, 19, 3, 7, 9, 12]
print(ll)
# 在第一个位置插入多个列表项
ll[:0]=['a','b']
print(ll)
# 通过指定切片的开始索引和停止索引将元素插入到列表的中间。
mid=int(len(ll)/2)
ll[mid:mid]=['ok','no']
print(ll)
(5)删除多个列表元素
# 将适当的切片赋值给空列表来删除列表中间的多个元素。
ll = [5, 17, 13, 14, 8, 19, 3, 7, 9, 12]
print(ll)
# 删除多个列表项
ll[5:]=[]
print(ll)
# 也可以将del语句用于切片。
del ll[2:4]
print(ll)
(6)克隆或复制列表
# 可以使用切片运算符复制列表(也称为浅拷贝)。
ll = [5, 17, 13, 14, 8, 19, 3, 7, 9, 12]
print(ll)
# 第一种方法:
ll2=ll[:]
print(ll2)
print(ll2 is ll)
# 第二种方法:
ll2=list(ll)
print(ll2)
# 第三种方法:
import copy
# 浅拷贝
nll2 = copy.copy(ll)
print(nll2 ,nll2 is ll)
# # 深拷贝
nll3 = copy.deepcopy(ll)
print(nll3 ,nll3 is ll)
文章来源地址https://www.toymoban.com/news/detail-400039.html文章来源:https://www.toymoban.com/news/detail-400039.html
到了这里,关于Python 列表切片详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!