当前位置: 首页 > 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个元素进行倒序后取出。

相关文章:

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

文章目录 前言一、基本语法二、切片1.a[i:j]2.a[i:j:k] 总结&#xff1a;[-1] [:-1] [::-1] [n::-1] 前言 在python中&#xff0c;序列是python最基本的数据结构&#xff0c;包括有string&#xff0c;list&#xff0c;tuple等数据类型&#xff0c;切片对序列型对象的一种索引方…...

剑指JUC原理-9.Java无锁模型

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱吃芝士的土豆倪&#xff0c;24届校招生Java选手&#xff0c;很高兴认识大家&#x1f4d5;系列专栏&#xff1a;Spring源码、JUC源码&#x1f525;如果感觉博主的文章还不错的话&#xff0c;请&#x1f44d;三连支持&…...

汽车托运使用的场景

在托运车辆时&#xff0c;要仔细的检查车辆的性能&#xff0c;比如电瓶电量是否充足&#xff0c;发动机的性能是否良好&#xff0c;轮胎是否是正常的气压&#xff0c;冬季时需使用防冻液&#xff0c;车内禁止放易燃易爆物品。 托运时还需选择一家好的托运公司&#xff0c;首先要…...

机器学习 - 加油站数据分析

一、实验数据 数据集&#xff1a;“加油站数据.xls” 数据集介绍&#xff1a;该表记录了用户在11月和12月一天24小时内的加油信息&#xff0c;包括&#xff1a;持卡人标识&#xff08;cardholder&#xff09;、卡号&#xff08;cardno&#xff09;、加油站网点号&#xff08;n…...

基于CMFB余弦调制滤波器组的频谱响应matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1、CMFB余弦调制滤波器组原理 4.2、CMFB调制过程 4.3、CMFB特点 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ......................…...

helm一键部署grafana

一键部署命令 helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo update helm install prometheus prometheus-community/kube-prometheus-stack暴露服务 kubectl port-forward --address 0.0.0.0 deployment/prometheus-gr…...

pytorch复现_NMS

NMS&#xff08;非极大值抑制&#xff09;阈值是用于控制在一组重叠的边界框中保留哪些边界框的参数。当检测或识别算法生成多个边界框可能涵盖相同物体时&#xff0c;NMS用于筛选出最相关的边界框&#xff0c;通常是根据它们的置信度分数。 具体来说&#xff0c;NMS的工作原理…...

备份doris数据到minio

1、MINIO 设置 创建服务账户&#xff0c;记住ACCESS_KEY和SECRET_KEY 创建Buckets doris 设置region 在首页查看服务ip和端口号 2、创建S3备份库 因为minio是兼容S3协议的&#xff0c;所以可以通过s3协议链接minio。 CREATE REPOSITORY minio WITH S3 ON LOCATION "s3://…...

Linux中正则表达式等

grep命令&#xff1a;主要作用就是过滤查找文本内容 常用的选项有&#xff1a; -m 数字:匹配几次之后停止&#xff0c;按行匹配&#xff0c;不是按字符个数&#xff0c;例如 -v:取反 例如: -n:显示匹配的行号 例如&#xff1a; -c:仅显示匹配的行数&#xff0c;不显示匹配内…...

记一次并发问题 Synchronized 失效

记一次并发问题 Synchronized 失效 场景&#xff1a;为避免信息提交重复&#xff0c;给事务方法增加了synchronized修饰符&#xff0c;实际场景中仍然无法完全避免重复&#xff0c;原因是因为在第一个线程执行完synchronized代码段后&#xff0c;此时spring还未完成事务提交&a…...

手机平板摄像头如何给电脑用来开视频会议

环境&#xff1a; Iriun Webcam EV虚拟摄像头 钉钉会议 问题描述&#xff1a; 手机平板摄像头如何给电脑用来开视频会议 解决方案&#xff1a; 1.下载软件 手机端和电脑端都下载这个软件&#xff0c;连接同一局域网打开软件连接好 另外一款软件Iriun 也是一样操作 2.打…...

windows docker desktop 更换镜像 加速

最近 docker hub 访问不了; 经过研究 可以通过添加 代理镜像网址 添加代理服务器的方式 实现完美访问 1添加镜像网站 修改成国内镜像地址就能享受到飞一般的速度&#xff0c;但有一个问题&#xff0c;部分站点镜像不全或者镜像比较老&#xff0c;建议使用多个镜像站。 https…...

linux下多机器ssh免密码登录配置

20,21,22,23等4台机器配置ssh免密登陆 确认sshd配置 查看/etc/ssh/sshd_config文件&#xff0c;确认如下配置没有被注释掉&#xff1a; AuthorizedKeysFile .ssh/authorized_keys每一台机器修改hosts配置主机名&#xff08;可选&#xff09; 执行ssh命令&#xff0c;如…...

【IDEA使用maven package时,出现依赖不存在以及无法从仓库获取本地依赖的问题】

Install Parent project C:\Users\lxh\.jdks\corretto-1.8.0_362\bin\java.exe -Dmaven.multiModuleProjectDirectoryD:\学习\projectFile\study\study_example_service "-Dmaven.homeD:\Program Files\JetBrains\IntelliJ IDEA2021\plugins\maven\lib\maven3" "…...

Flink 统计接入的数据量-滚动窗口和状态的使用

1、概述 在生产场景值&#xff0c;经常需要和上游、下游对数&#xff0c;离线场景可以直接 group by 再 count &#xff0c;但是实时场景中&#xff0c;如果使用 kafka 作为中间件&#xff0c;中间经过几个 job 的过滤转化后&#xff0c;再对照像 Doris 或 Clickhouse 中最终层…...

SpringBoot快速整合canal1.1.5(TCP模式)

SpringBoot快速整合canal1.1.5&#xff08;TCP模式&#xff09; 安装并配置MySQL主从⭐ 1&#xff1a;Docker安装MySQL8.0.28 docker pull mysql:8.0.282&#xff1a;创建目录&#xff1a; mkdir -p /usr/local/mysql8/data mkdir -p /usr/local/mysql8/log mkdir -p /usr/…...

docker打包container成image,然后将image上传到docker hub

第一步&#xff1a;停止正在运行的容器 docker stop <container_name> eg: docker stop xuanjie_mlir 第二步&#xff1a;将对应的container打包成image docker commit <container_id> <镜像名&#xff1a;版本> eg&#xff1a;docker commit 005672e6d97a…...

设计模式—创建型模式之原型模式

设计模式—创建型模式之原型模式 原型模式&#xff08;Prototype Pattern&#xff09;用于创建重复的对象&#xff0c;同时又能保证性能。 本体给外部提供一个克隆体进行使用。 比如我们做一个SjdwzMybatis&#xff0c;用来操作数据库&#xff0c;从数据库里面查出很多记录&…...

Zygote进程通信为什么用Socket而不是Binder?

Zygote进程是Android系统中的一个特殊进程&#xff0c;它在系统启动时被创建&#xff0c;并负责孵化其他应用进程。它的主要作用是预加载和共享应用进程的资源&#xff0c;以提高应用启动的速度。 在Android系统中&#xff0c;常用的进程通信方式有以下几种&#xff1a; Intent…...

API接口加密,解决自动化中登录问题

一、加密方式 AES&#xff1a;对称加密&#xff0c;快RAS&#xff1a;非对称加密&#xff0c;慢AESRAS&#xff1a;安全高效 加密过程&#xff1a;字符串》字节流》加密的字节流&#xff08;算法&#xff09;&#xff0c;解密有可能出现乱码&#xff0c;所以不能直接转成字符…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

Linux云原生安全:零信任架构与机密计算

Linux云原生安全&#xff1a;零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言&#xff1a;云原生安全的范式革命 随着云原生技术的普及&#xff0c;安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测&#xff0c;到2025年&#xff0c;零信任架构将成为超…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

ios苹果系统,js 滑动屏幕、锚定无效

现象&#xff1a;window.addEventListener监听touch无效&#xff0c;划不动屏幕&#xff0c;但是代码逻辑都有执行到。 scrollIntoView也无效。 原因&#xff1a;这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作&#xff0c;从而会影响…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

华硕a豆14 Air香氛版,美学与科技的馨香融合

在快节奏的现代生活中&#xff0c;我们渴望一个能激发创想、愉悦感官的工作与生活伙伴&#xff0c;它不仅是冰冷的科技工具&#xff0c;更能触动我们内心深处的细腻情感。正是在这样的期许下&#xff0c;华硕a豆14 Air香氛版翩然而至&#xff0c;它以一种前所未有的方式&#x…...

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术&#xff1a;基于互相关的相干体技术&#xff08;Correlation&#xff09;第二代相干体技术&#xff1a;基于相似的相干体技术&#xff08;Semblance&#xff09;基于多道相似的相干体…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S &#xff08;client/server 客户端/服务器&#xff09;&#xff1a;由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序&#xff0c;负责提供用户界面和交互逻辑 &#xff0c;接收用户输入&#xff0c;向服务器发送请求&#xff0c;并展示服务…...