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

Python切片理解与操作 切片是Python中一种用于操作序列类型(如列表、字符串和元组)的方法。它通过指定起始索引和结束索引来截取出序列的一部分,形成一个新的序列。切片是访问特定范围内的元素,就是一个Area。说个笑话:切片不是切片,而是切片,但是又是切片。大家理解下呢(末尾放出作者自己的理解),耐心看完,关于Python的切片知识就够用了,记得一定要自己动手练习,后续几乎python的每个方向都会用到切片,比如数据分析里面的抽取数据等等。 阅读详情

        作为初学者,我们经常会遇到有关序列 [-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.youkuaiyun.com/iprobobo/article/details/122542937

电机控制易混知识点1-基波频率/载波频率/采样频率 在电机控制学习工作中会接触到很多专业名词,其中基波频率,载波频率,采样频率是最常接触到的,特别对于电机控制小白开说,不容易理解,现对这几个概念做下总结归纳。 阅读详情

相关推荐

Unity游戏Mono注入实战:从反编译到功能扩展

本文详细介绍了Unity游戏Mono注入的完整实战流程,从使用dnSpy反编译游戏核心逻辑,到编写自定义C#功能DLL,再到利用SharpMonoInjector进行动态注入。文章深入讲解了如何通过Harmony库拦截修改游戏方法,并介绍了使用MelonLoader框架和UnityExplorer进行高级模组开发与调试,最终通过一个游戏对象透视(ESP)案例演示了功能扩展的实现。

weixin_29018335的博客 458

Python [::-1]的简单理解与用法

既然涉及到三维,那就可以拓展到图片了。比方说,使用cv2.imread读到的图片是存储在尺寸为(H, W, C)的ndarray里的。步长是正数的话,[a:b]是从a到b,往右读取,b应该比a大;自然而然的,如果不指定a,b,那么处理的范围是整个列表;步长为-1,表示整个列表从右往左读取,即翻转数组。这一结果的本质是,切片本身只在数组的第0维去操作,而二维数组的的0维是行,因此会把所有行给逆序。那么这个东西的原理是什么呢?多一个冒号的话,新冒号后面的数字表什么呢?从结果上来看,[::-1]的作用是。

xiongxyowo的博客 2万+

AOSP Android14 Launcher3——动画核心类QuickstepTransitionManager详解

是一个复杂但核心的动画管理器。它利用 Android 的远程动画机制,拦截系统默认的窗口切换,并替换为高度定制、与 Launcher UI 深度集成的平滑过渡动画。当用户从一个应用程序通过手势或按键返回到 Launcher (桌面) 时,它负责创建和运行动画,使得应用程序窗口能够平滑地过渡(通常是缩小)到 Launcher 上的对应目标(图标、小部件或屏幕中心),同时 Launcher 界面元素(工作区、背景等)恢复显示。计算动画所需的各种参数,如窗口的起始/结束位置、缩放比例、透明度、圆角、裁剪区域等。

Micheal_Yang's Blog 2669

python中 s == s[::-1]是什么意思?

关于序列可以使用这种方式,被称为切片,例如,列表,元组等

dev_zyx的博客 8万+

告别设备管理器混乱!3分钟学会用STM32CubeMX+Zadig定制专属虚拟串口名称

本文详细介绍了如何利用STM32CubeMX和Zadig工具,为STM32的USB虚拟串口(VCP)定制专属设备名称,从而彻底解决多设备连接时设备管理器端口混乱的难题。通过修改产品字符串描述符并替换驱动,开发者可以在设备管理器中清晰识别不同开发板,显著提升调试效率,尤其适用于多设备协同的竞赛或项目开发场景。

a2b3c4d5e的博客 478

【Unity3D渲染】Unity3d实现Photoshop的各种图层混合模式

Adobe Photoshop图层混合原理、Unity ShaderLab图层混合实现

a310989583的专栏 2435

python库函数[::-1]

s[::-1]表示反转s中的元素 s[:]表示数组中所有子模块 s[:]=s[::-1]表示将原数组反转后赋值给s中每一个对应的位置 s=s[::-1]表示将s反转后赋值给新的对象s(可以通过id函数查看内存地址),与题意原地修改不符。 作者:yim-6 链接:https://leetcode-cn.com/problems/reverse-string/solution/python3-liang-chong-fang-fa-shi-xian-fan-zhuan-zi-/ 来源:力扣(LeetCode)

qq_43749617的博客 1811

OpenClaw小白安装全攻略:5000字详解,3分钟上手

为什么值得装 OpenClaw?最近科技圈爆火的 OpenClaw(昵称 “小龙虾”),不是普通 AI 聊天工具 —— 它是能本地部署、直接操控电脑的 AI 智能体,相当于给电脑配了个 “全能助手”:整理文件、自动搜资料、写文档、控制浏览器,甚至对接微信 / 飞书发消息,全程不用手动操作。更关键的是:它免费开源、支持全平台,新手不用懂代码,复制粘贴命令就能装,数据存在本地不泄露隐私。截至 2026 年 3 月,GitHub 星标已破 25 万,券商都出研报推荐,上班族、学生党用它提升效率超香!

通俗易懂学IT 1211

Python字符串切片(s[::-1])巧解回文字符串判定

【点击此处跳转笔记正文】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单…… My 优快云主页、My HOT博、My Python 学习个人备忘录 好文力荐、 老齐教室   自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。             —— 华罗庚 Python字符串切片 巧解回文字符串判定 (s

m0_57158496的博客 3883

SillyTavern本地AI聊天平台部署与调优全指南

大型语言模型(LLM)作为当前人工智能领域的核心技术,通过其强大的自然语言理解和生成能力,正在深刻改变人机交互方式。其工作原理基于Transformer架构,通过海量数据训练,学习语言的统计规律与语义关联。这项技术的核心价值在于,它能够作为通用基础,赋能于多样化的下游应用,实现个性化的智能对话与内容创作。在工程实践中,如何高效、灵活且低成本地部署和利用这些模型,成为开发者与爱好者的关键需求。本地化部署方案,特别是结合如Ollama、KoboldCPP等推理引擎,提供了数据隐私保障与可控的硬件成本。Silly

weixin_42520448的博客 431

从一个 ASIN 看透亚马逊:商品模型背后的增长飞轮

在亚马逊电商体系中,每件商品背后都有一套严密的商品建模逻辑。本篇文章以“ASIN 的一生”为线索,系统拆解了亚马逊的商品模型:从飞轮战略出发,剖析 SDP(Single Detail Page)机制如何实现标准化展示;再到 ASIN 编码、父子变体结构与 Offer 分离模型,逐层解析商品信息如何被建构、聚合与呈现。通过图解与案例,文章帮助读者理解商品建品流程、同款聚合原则、价格控制机制等核心逻辑,避免常见运营误区,是一份面向运营、产品、技术人员的实用参考指南。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 13万+

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

本文主要讲对序列对象的切片索引及如何理解[-1:],[:-1],[::-1]的用法

sodaloveer的博客 1万+

高通SDX35:SGMII接口PHY RTL8211FSI-CG驱动适配

高通SDX35 RTL8211F SGMII

不秃头的程序猿Gabriel的博客 786

python将list倒序_python 基础之 list 倒序操作

原标题:python 基础之 list 倒序操作了解下载RPA请访问:www.i-search.com.cn前言让列表逆序排列是我们编程时常碰到的问题,在 Python 中,将列表逆序有 3 种方式,下面将逐一讨论。当然,这里说的 3 种方式指的是使用 Python 的内建模块的方法,不使用第三方的方法,包括你自己可能会写的循环等。假设我们现在有这么一个列表[1, 2, 3, 4, 5]我们最终想...

weixin_42628573的博客 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

python listnode类_简单介绍四种Python 列表反转显示的方法

这篇文章主要介绍了Python 列表反转显示的四种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧第一种,使用reversed 函数reversed返回的结果是一个反转的迭代器,我们需要对其进行 list 转换listNode=[1,2,3,4,5]newList=list(reversed(listNode))pr...

weixin_39898150的博客 8195

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

python list 反向

方法1:list(reversed(a)) reversed(a)返回的是迭代器,所以前面加个list转换为list 方法2:sorted(a,reverse=True) 方法3:a[: :-1]其中[::-1]代表从后向前取值,每次步进值为1 ...

liulibo1的博客 596

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Python切片,也就是[:],与[::-1]等情况的理解

Python中符合切片并且常用的有:列表,字符串,元组。 下面那列表来说明,其他的也是一样的。 格式:[开头:结束:步长] 开头:当步长>0时,不写默认0。当步长<0时,不写默认-1 结束:当步长>0时,不写默认列表长度加一。当步长<0时,不写默认负的列表长度减一 步长:默认1,>0 是从左往右走,<0是从右往左走(▽) 例如: >>>a_li...

wr166的博客 2万+

完全理解python切片(使用切片操作符:或切片类slice)

python 切片操作简介 使用切片操作符:进行切片操作 切片操作写法 切片操作读取方向和判断条件 切片中的索引省略和负数索引 多维切片 使用 slice 类进行切片操作 python 切片操作简介   切片是从 python 对象中提取出部分值。   python 切片操作可以使用切片操作符:和切片类 slice 来完成 python 列表 p y t h o n 正索引 0 1 2 3 4 5 负索引 -6 -5 -4 -3 -2 -1   在下文中,我们将这个列表..

路过人间,一叶知秋 4万+

全面深入彻底理解Python切片操作【原创】

全面深入彻底理解Python切片操作【原创】 我们基本上都知道Python的序列对象都是可以用索引号来引用的元素的,索引号可以是正数由0开始从左向右,也可以是负数由-1开始从右向左。 在Python中对于具有序列结构的数据来说都可以使用切片操作,需注意的是序列对象某个索引位置返回的是一个元素,而切片操作返回是和被切片对象相同类型对象的副本。 如下面的例子,虽然都是一个元素,但是对

xpresslink的专栏 5万+

Python基础知识:切片

什么是切片操作 在Python中,切片(slice)是对序列型对象(如list,string,tuple)的一种高级索引方法。普通索引只取出序列中一个下标对应的元素,而切片取出序列中一个范围对应的元素,这里的范围不是狭义上的连续片段。下面的代码初步展示了切片索引的力量。 >>> a = list(range(10)) >>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a[:5] [0, 1, 2, 3,..

m0_54923920的博客 2万+

python切片操作

python切片操作教程

chase 2万+

一文彻底看懂Python切片,Python切片理解与操作

一文彻底看懂Python切片,Python切片理解与操作

xiaomeng2013的博客 4516

深入理解Python切片

深入理解Python切片 Python序列的切片很基础同时也很重要,最近看到一个[::-1]的表达,不明所以,查了一些资料并实际操作,对Python切片有了更深刻的认识,以下结合例子详细说明。 先看下切片的基本语法,一般认为切片语法是[N:M],是个半闭合区间,等效于数学上[N,M)取值范围,取N不取M, N和M都可以省略,N<M,否则取不到值 接着看上面的例子[::-1],双冒号好理解,[...

James的博客 385

Python中[ : n]、[m : ]、[-1]、[:-1]、[::-1]、[2::-1]和[1:]的含义

Python中[ : n]、[m : ]、[-1]、[:-1]、[::-1]、[2::-1]和[1:]的含义 [m : ]代表列表中的第m+1项到最后一项 [ : n]代表列表中的第一项到第n项 [-1] 代表去到最后一项 [:-1]代表除了最后一个都获取到 [::-1]代表逆序取,从后向前取 [2::-1]代表从下标从0到2的三个数,逆序取 [1:]代表从下标为1开始取到最后...

zhangvalue的博客 8327

python的索引和切片

一、索引和切片介绍 字符串可以定义为字符的有序集合,我们可以通过其位置获得他们的元素。在python中,字符串中的字符是通过索引提取的。 python偏移量是从0开始的,这样就会比字符串的长度len()小1。 大家比较熟悉字符串的正偏移,python中还可以使用负偏移,可以看着是从结束处反向计数。 关于偏移和分片的网格四意图如图,便于理解: 个人觉得这个图解比较好,大部分人的图解都是...

hanlinsky的博客天地 1万+

python三维数组切片

b = np.array([[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]], [[13, 14, 15, 16], [17, 18, 19, 20], [21, 22, 23, 24]], [[25, 26, 27, 28], [29, 30, 31, 32], [33, 34, 35, 36]], ]) print(b.shape) print(b) # 他输出的是三个zoy面.

shimingwang的博客 8217
上一篇: Python 之关键字(保留字)
下一篇: Python if __name__ == ‘__main__’ 之理解
香饽々
博客等级 码龄5年 252粉丝 88原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

香饽々

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

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

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

打赏作者

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

抵扣说明:

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

余额充值