序列索引和切片

本文详细介绍了Python中序列类型的索引和切片操作,包括正向和反向索引,以及如何通过切片进行元素的选取。示例展示了列表的索引越界错误、正常索引取值、切片规则以及步长的使用。此外,还讨论了切片的无限范围和空切片情况。这些基本操作对于理解和操作Python序列至关重要。
摘要由CSDN通过智能技术生成

序列索引和切片

序列类型都可以使用下标进行索引或切片取值,这是序列类型通用操作。可变序列类型比较特殊,例如列表,可以利用索引或切片进行元素增、删、改,详见 列表的索引和切片

下标从前往后,则以 0 开始,从后往前,则从 -1 开始,双向索引:

('a', 'b', 'c', 'd')
  0    1    2    3
 -4   -3   -2   -1

下标索引,直接取出对应索引下的值,超出范围则报错:

a = [1,2,3,4]
a[10]
---------------------------------------------------------------------------

IndexError                                Traceback (most recent call last)

<ipython-input-18-5680bb375980> in <module>
      1 a = [1,2,3,4]
----> 2 a[10]


IndexError: list index out of range
a = [1,2,3,4]
a[0], a[-2]
(1, 3)

下标切片取值规则:[起始:结束:步长],不包含结束。

  • 没有指定起始,则默认为 0;
  • 没有指定结束则默认到最后一个元素结束;
  • 下标可以双向混合使用;
  • 没有指定步长,则默认为 1;
  • 步长为负数,则反向取值,-1 开始。
a = [1,2,3,4,5,6,7]
a[:3]
[1, 2, 3]
a = [1,2,3,4,5,6,7]
a[3:]
[4, 5, 6, 7]
a = [1,2,3,4,5,6,7]
a[1:-3], a[-6:4]
([2, 3, 4], [2, 3, 4])
a = [1,2,3,4,5,6,7]
a[::2]
[1, 3, 5, 7]
a = [1,2,3,4,5,6,7]
a[::-2] # 默认 -1 开始取
[7, 5, 3, 1]
a = [1,2,3,4,5,6,7]
a[0:7:-2]
[]
a = [1,2,3,4,5,6,7]
a[-1:0:-2]
[7, 5, 3]

切片范围可以无限大,范围内没有元素,则得到空的容器:

a = [1,2,3,4,5,6,7]
a[5:100], a[1:1], a[5:-10]
([6, 7], [], [])
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值