python 中的[:-1]和[::-1]的具体使用

案例

a='python'
b=a[::-1]
print(b) #nohtyp
c=a[::-2]
print(c) #nhy
#从后往前数的话,最后一个位置为-1
d=a[:-1] #从位置0到位置-1之前的数
print(d) #pytho
e=a[:-2] #从位置0到位置-2之前的数
print(e) #pyth

用法说明

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],也就是从最后一个元素到第一个元素复制一遍,即倒序。

PS:python中[-1]、[:-1]、[::-1]、[n::-1]使用方法

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]
posted @ 2023-07-30 11:59  高宏宇  阅读(131)  评论(0编辑  收藏  举报