当前位置: 首页 > news >正文

【python基础】python切片—如何理解[-1:],[:-1],[::-1]的用法

文章目录

  • 前言
  • 一、基本语法
  • 二、切片
    • 1.a[i:j]
    • 2.a[i:j:k]
  • 总结:[-1] [:-1] [::-1] [n::-1]


前言

在python中,序列是python最基本的数据结构,包括有string,list,tuple等数据类型,切片对序列型对象的一种索引方法,其中每个元素都有对应的位置值,具有正向递增(从0开始),反向递减(-1开始)的属性,根据此可以进行普通索引或切片索引。普通索引只取出列中一个下标对应的元素,而切片索引取出序列中一个范围对应的元素。本文主要讲对序列对象的切片索引。


一、基本语法

操作符描述
a[i]普通索引,返回序列 a 中第 i 个元素,i为序号
a[i:j]切片,得到 a 序列中序号从 i 到 j(不包括 j )范围元素。
当 i 缺省时,默认为0
当 j 缺省时,默认为len(a)
当 i,j 均缺省时,默认为全部
a[i:j:k]切片, 返回序列 a 中从序号 i 到 j (不包括 j ),以k为步长的元素子序列。
k>0,步长自左而右(正序);i 缺省时,默认为0,j 缺省时,默认为len(a)
k<0,步长自右而左(倒序);i 缺省时,默认为-1,j 缺省时,默认为-len(a)-1

二、切片

1.a[i:j]

[1:3]:取第二、三个元素。

a=[10,20,30,40,50]
a[1:3]
#输出:[20, 30]

在这里插入图片描述

[1:-1]:取第二个到倒数第二个元素。

a=[10,20,30,40,50]
a[1:-1]
#输出:[20, 30, 40]

在这里插入图片描述

[-3:-1]:取倒数第三到倒数第二个元素。

a=[10,20,30,40,50]
a[-3:-1]
#输出:[30, 40]

在这里插入图片描述

  • i,j 缺省

[:-1]:取第一个到倒数第二个元素。

a=[10,20,30,40,50]
a[:-1]
#输出:[10, 20, 30, 40]

在这里插入图片描述

[-1:]:j 缺省,为5,取最后一个元素。

a=[10,20,30,40,50]
a[-1:]
#输出:[50]

在这里插入图片描述

[3:]:j 缺省,为5,取第四个到最后一个元素。

a=[10,20,30,40,50]
a[3:]
#输出:[40, 50]

在这里插入图片描述

[:]:取出全部元素。

a=[10,20,30,40,50]
a[:]
#输出:[10, 20, 30, 40, 50]

在这里插入图片描述

2.a[i:j:k]

[1:6:2]:从左往右,步长2,范围从第二个元素开始到最后一个元素。

a=[10,20,30,40,50]
a[1:6:2]
#输出:[20, 40]

在这里插入图片描述

[-5:-2:2]:从左往右,步长2,范围从第一个元素开始到倒数第二个元素。

a=[10,20,30,40,50]
a[-5:-2:2]
#输出:[10, 30]

在这里插入图片描述

[-1:-6:-2]:从右往左,步长2,范围从最后一个元素开始到第一个元素。

a=[10,20,30,40,50]
a[-1:-6:-2]
#输出:[50, 30, 10]

在这里插入图片描述

  • i,j,k 缺省情况

[ : : ]:i 默认为1,j 默认为6,k 默认为1,从左往右,取全部。

a=[10,20,30,40,50]
a[::]
#输出:[10, 20, 30, 40, 50]

在这里插入图片描述

[1: :2]:j 默认为6,从左往右,步长2,范围从第二个元素开始到最后一个元素。

a=[10,20,30,40,50]
a[1::2]
#输出:[20, 40]

在这里插入图片描述

[ :4:2]:i 默认为0,从左往右,步长2,范围从第一个元素开始到第四个元素。

a=[10,20,30,40,50]
a[ :4:2]
#输出:[10, 30]

在这里插入图片描述

[ : : -1]:i 默认为-1,j 默认为-6,从右往左,取全部,其实就是倒序。

a=[10,20,30,40,50]
a[::-1]
#输出:[50, 40, 30, 20, 10]

在这里插入图片描述

[-1: :-2]:k<0,j 默认为-6,从右往左,步长2,范围从最后一个元素开始到第一个元素。

a=[10,20,30,40,50]
a[-1::-2]
#输出:[50, 30, 10]

在这里插入图片描述

[ :-5:-2]:k<0,i 默认为-1,即从右往左,步长2,范围从最后一个元素开始到第二个元素。

a=[10,20,30,40,50]
a[:-5:-2]
#输出:[50, 30]

在这里插入图片描述


总结:[-1] [:-1] [::-1] [n::-1]

  • [-1]:获取最后一个元素;
  • [:-1]:除了最后一个元素,获取其他所有的元素;
  • [::-1]:对第一个到最后一个元素进行倒序之后取出;
  • [n::-1]:对第一个到第n个元素进行倒序后取出。
http://www.lryc.cn/news/216946.html

相关文章:

  • 剑指JUC原理-9.Java无锁模型
  • 汽车托运使用的场景
  • 机器学习 - 加油站数据分析
  • 基于CMFB余弦调制滤波器组的频谱响应matlab仿真
  • helm一键部署grafana
  • pytorch复现_NMS
  • 备份doris数据到minio
  • Linux中正则表达式等
  • 记一次并发问题 Synchronized 失效
  • 手机平板摄像头如何给电脑用来开视频会议
  • windows docker desktop 更换镜像 加速
  • linux下多机器ssh免密码登录配置
  • 【IDEA使用maven package时,出现依赖不存在以及无法从仓库获取本地依赖的问题】
  • Flink 统计接入的数据量-滚动窗口和状态的使用
  • SpringBoot快速整合canal1.1.5(TCP模式)
  • docker打包container成image,然后将image上传到docker hub
  • 设计模式—创建型模式之原型模式
  • Zygote进程通信为什么用Socket而不是Binder?
  • API接口加密,解决自动化中登录问题
  • COCOS2DX3.17.2 Android升级targetSDK30问题解决方案
  • HarmonyOS鸿蒙原生应用开发设计- 隐私声明
  • 【面试精选】00后卷王带你三天刷完软件测试面试八股文
  • k-means算法c++实现
  • oracle查询哪些用户下有表
  • 机器人连杆惯量参数辨识(估计)
  • 一座 “数智桥梁”,华为助力“天堑变通途”
  • C#知识总结 基础篇(上)
  • 照片编辑软件Affinity Photo 2 for Mac v2.1.1中文激活版 2024年最新中文版下载
  • TPAMI 2023 | Temporal Perceiver:通用时序边界检测方法
  • Unity-UV展开工具