首页 > 编程语言 >一文彻底看懂Python切片,Python切片理解与操作

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

时间:2023-11-24 16:01:30浏览次数:29  
标签:一文 Python 元素 切片 索引 步长 序列

1.什么是切片

切片是Python中一种用于操作序列类型(如列表、字符串和元组)的方法。它通过指定起始索引和结束索引来截取出序列的一部分,形成一个新的序列。切片是访问特定范围内的元素,就是一个Area。

说个笑话:切片不是切片,而是切片,但是又是切片。大家理解下呢(末尾放出作者自己的理解)。

 

 

思考:为什么要有切片?我拿开始和结尾的索引来输出特定的元素不行吗?

答:可以,不觉得麻烦吗?

2.基本语法

 如果想从某元素一直切片到最后结束,结束索引可以大于数组长度,如下:

 

前面提到了,最后一个元素的索引是-1,所以从末尾开始切片如下:

 

但是这样也无法包括到最后一个元素,怎么办呢?是不是使用下面就可以了呢?

 

事实上,执行切片操作时,如果第一个索引指定的元素位于第二个索引指定的元素后面(在这里,倒数第3个元素位于第1个元素后面),结果就为空序列。因为0是第一个元素的索引,-3是后面元素的索引,相当于反了。

那怎么才能取到最后一个元素呢?省略末尾开始的元素索引即可。

 

同样,如果切片始于序列开头,可省略第一个索引。

 

想必你也猜到了,如果只有:,就意味着“复制”。

 

3.更大的步长

[X:Y:Z] Z就是步长,步长不能为0,否则无法向前移动,但可以为负数,即从右向左提取元素。这个步长绝对不是中间间隔的元素,而是(第一个元素的索引,第一个元素的索引+步长.......),可以理解为从开始元素算起,

 

这个时候看着就有意思了,步长为负的时候,为什么开始索引比结束索引大呢?可以这么理解:

 

步长为负的之后,index还是从右向左的,截取的计算方法是从右向左计算的,这个时候头就

变成了右边的。

技巧:前面两个参数先看区间,再看后面的步长,然后从右向左。

 

 

 最后给出作者对于“切片不是切片,而是切片,但是又是切片”的理解。

切片不是切片:切片不是将序列切断。

而是切片:是切出对一个区域的操作,序列切片之后还是序列。

但是又是切片:切片是按照指定的规则“切”原来的序列之后重新缝合成新的序列。

 

 

 

 

 

标签:一文,Python,元素,切片,索引,步长,序列
From: https://www.cnblogs.com/liyunzhouts/p/17853971.html

相关文章

  • python glob
    glob是python自带的一个操作文件的相关模块,用它可以查找符合特定规则的文件路径名。使用该模块查找文件,只需要用到:“*”,“?”,“[]”这三个匹配符;”*”匹配0个或多个字符;”?”匹配单个字符;”[]”匹配指定范围内的字符,如:[0-9]匹配数字。glob.glob:返回所有匹配的文件路径列表......
  • 一文掌握MySQL多表查询技巧:告别繁琐操作,轻松搞定数据查询!
    在数据库的世界里,我们经常需要处理各种各样的数据。有时候,我们需要从多个表中查询数据,这时候就需要用到MySQL的多表查询了。今天,就让我们一起来了解一下MySQL多表查询的魅力吧!一、表的关系简介现实生活中,实体与实体之间肯定是有关系的,比如:部门和员工,老师和学生等。在设计表的时......
  • python+playwright 学习-43 Pyinstaller打包生成独立的可执行文件
    前言playwright与Pyinstaller结合使用来创建独立的可执行文件。本地化安装有同学提到说想打成一个exe的独立包,但是执行playwrightinstall会默认把chromium,firefox和webkit三个浏览器安装到系统目录。这样打包的时候就找不到启动的浏览器文件。于是就想到把浏览器文件下......
  • python可视化打包exe
    安装Auto-py-to-exePython环境要大于或等于2.7然后在cmd里面输入pipinstallauto-py-to-exe安装完成之后,我们就可以在cmd输入一下命令启动auto-py-to-exe启动之后可以切换语言为中文,剩下的就看情况操作了......
  • PYTHON实现EXCEL数据导入MYSQL
    #coding=utf8importpymysqlimportosimportpandasaspdhost='127.0.0.1'port=3308user='root'password='*****'db='impairment_testing'conn=pymysql.connect(host=host,port=port,user=user,password=password,db=db......
  • python用playwright自动化测试程序打包exe
    playwright自动化测试代码写好后,打包为exe运行在目标PC上可能出现错误。原因:1、运行的PC没有响应的浏览器。2、playwright没有打包到代码中。所以本例用AutoPytoExe为例来制作exe程序解决问题。1、安装: 2、安装完成之后,我们就可以输入:auto-py-to-exe,来启动auto-py-to-exe......
  • python中的虚拟环境
    虚拟环境介绍:虚拟环境是一种在项目级别隔离Python依赖的方法。通过创建虚拟环境,你可以为每个项目设置独立的Python环境,从而解决全局安装可能导致的问题。虚拟环境可以包含自己的Python解释器和依赖库,与其他虚拟环境和系统环境隔离开。虚拟环境使用场景:项目隔离:当您需要......
  • Python常见文件读写方法有哪些?
    在Python中,文件读写是非常常见的操作之一,因此提供了多种文件读写模式以及文件读写方法。那么Python常见文件读写方法有哪些?具体请看下文。文件读写模式在Python中,文件读写模式是指打开文件时使用的模式。Python提供了多种文件读写模式,包括:①读模式("r"):以只读方式......
  • 一文讲明Mybatis 的使用 超详细 【爆肝两万字教程】
    >我|在这里>......
  • Python 数据类型
    Task2数据类型常用内置类型基本的数据类型整数Integer(int)浮点数Float布尔值Boolean(bool)类型Type坦白来说,type是一种面向类的对象,python是一种面向的对象友好的语言print(type(2)) #int型print(type(2.3)) #float型的print(type(2>2.3)) #bool型......