python中列表的切片操作

python的切片操作为我们提供了很大的便利(截取列表中某一段的值非常方便),我们可以轻松截取某个范围的序列,其中切片操作主要分为正数索引与负数索引,[-1]表示列表倒数第一个元素,[-2]表示倒数第二个元素...依次类推,在字符串中经常会使用到逆序截取字符串的情况,这个时候可以使用s[::-1]来截取字符串的逆序表示,其中s表示当前的字符串,常见的用法如下面代码所示:

if __name__ == '__main__':
    li = [1, 2, 3, 4, 5, 6]
    # [:]提取整个列表(常用来复制整个列表的内容到另外一个列表中, 也即拷贝一个列表的副本)
    print(li[:])

    # [start:]从start索引开始到结尾
    print(li[1:])

    # [: end]从头开始直到end - 1
    print(li[:len(li)])

    # [start: end]从start到end - 1
    print(li[1:3])

    # [start: end:step] 从start提取到end - 1,步长是step
    print(li[0:len(li): 2])

    # 索引为负数的情况
    # 倒数三个
    print(li[-3:])

    # 倒数第五个到倒数第三个(包含区间起始点不包含结束位置)
    print(li[-5:-3])

    # 步长为负,从右到左反向提取(可以逆序提取字符串)
    print(li[::-1])
    
    # 取出列表中的最后一个元素
    print(li[-1])
    # 注:切片操作时,起始偏移量和终止偏移量不在[0, 字符串长度 - 1]这个范围,也不会报错。起始偏移量小于0 则会当做0,终止偏移量大于 "长度-1"
    # 会被当成 "长度-1"。例如:  [1, 2, 3, 4][1:10]结果:[2, 3, 4]

    # [1:-1]截取第二个开始到倒数第二个的序列
    print(li[1:-1])
    
    # 获取从第一个开始到倒数第二个的序列
    print(li[:-1])

output:


版权声明:本文为qq_39445165原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。