Python 切片 [-1:],[:-1] 和 [::-1] 之理解适用

        作为初学者,我们经常会遇到有关序列 [-1:],[:-1],[::-1] 等切片操作,往往傻傻搞不清,甚至懵圈,如何正确理解并自如使用呢?

        首先复习一下序列的有关属性。

        序列是 Python 最基本的数据结构,衍生字符串、列表、元组等数据类型,其中的每个元素都有对应的位置值,具有正向递增( 0 开始),反向递减( -1 开始)之属性,据此可以进行切片索引等操作:

操作符描述
s[i]索引,返回序列 s 中的第 i 个元素,i 为序号
s[i:j]

切片,返回序列 s 中从序号 i 到 j(不包括j)的元素子序列

         i 缺省时,默认为 0

         j 缺省时,默认为 len(s)

         i、j 均缺省时,默认为全部

s[i:j:k]

切片,返回序列 s 中从序号 i 到 j(不包括j),以 k 为步长的元素子序列

        k > 0,步长自左而右(正序);缺省时,默认为 1

        k < 0,步长自右而左(倒序);i 缺省时,默认为 -1;j 缺省时,默认为 -len(s)-1

示例:

>>> s = ('Life', 'is', 'short', 'you', 'need', 'Python')

>>> print(s[1])
is

>>> print(s[:])
('Life', 'is', 'short', 'you', 'need', 'Python')

>>>print(s[-1:])
Python

>>> print(s[:-1])
('Life', 'is', 'short', 'you', 'need')

>>> print(s[::-1])
('Python', 'need', 'you', 'short', 'is', 'Life')

>>> print(s[::-2])
('Python', 'you', 'is')

>>> print(s[2::-1])
('short', 'is', 'Life')

释义:

        s[1] 表示序列 s 的第 1 个元素

        s[:] 表示序列 s 的全部元素       

        s[-1:] 相当于 s[-1:6] 表示序列 s 的第 -1 个元素,也即最后一个元素

        s[:-1] 相当于 s[0:-1],表示序列 s 自始至最后一个元素前的所有元素

        s[::-1] 相当于 s[-1:-7:-1],表示序列 s 自尾而首的所有元素,即倒序

        s[::-2] 表示倒序,步长为2

        s[2::-1] 表示自第 2 个元素始倒序


关于序列的更多知识总结,请参见:

Python 序列之三言两语序列是具有先后关系的一组元素...https://blog.csdn.net/iprobobo/article/details/122542937

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

香饽々

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值