原文链接
python 中的[:-1]和[::-1]的具体使用 | 明宇李
原文结构有点问题,我调整了一下
正文
这篇文章主要介绍了 Python 中的 [:-1]
和 [::-1]
的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
用法说明
一个冒号
b = a[i:j]
表示复制 a[i]
到 a[j-1]
,以生成新的 list 对象
a = [0,1,2,3,4,5,6,7,8,9]
b = a[1:3] # [1,2]
- 当
i
缺省时,默认为 0,即a[:3]
相当于a[0:3]
- 当
j
缺省时,默认为len(alist)
, 即a[1:]
相当于a[1:10]
- 当
i
,j
都缺省时,a[:]
就相当于完整复制一份a
两个冒号
b = a[i:j:s]
表示:i
,j
与上面的一样,但 s
表示 步进,缺省为 1.
所以 a[i:j:1]
相当于 a[i:j]
当 s<0 时,
i
缺省时,默认为 -1.j
缺省时,默认为 -len(a)-1
所以 a[::-1]
相当于 a[-1:-len(a)-1:-1]
,也就是 从最后一个元素到第一个元素复制一遍 ,即 倒序。
具体实例
案例 1
a = 'python'
b = a[::-1]
print(b) # nohtyp (逆序,步长为 1)
c = a[::-2]
print(c) # nhy (逆序,步长为 2)
# 从后往前数的话,最后一个位置为 -1
d=a[:-1] # 从位置 0 到位置 -1 之前的数
print(d) # pytho (正序)
e=a[:-2] # 从位置 0 到位置 -2 之前的数
print(e) # pyth (正序)
案例 2
import numpy as np
a=np.random.rand(5)
print(a)
[ 0.64061262 0.8451399 0.965673 0.89256687 0.48518743]
print(a[-1]) ### 取最后一个元素
[0.48518743]
print(a[:-1]) ### 除了最后一个取全部
[ 0.64061262 0.8451399 0.965673 0.89256687]
print(a[::-1]) ### 取从后向前(相反)的元素
[ 0.48518743 0.89256687 0.965673 0.8451399 0.64061262]
print(a[2::-1]) ### 取从下标为 2 的元素翻转读取
[ 0.965673 0.8451399 0.64061262]