Python3的切片

article/2025/10/28 23:30:30

Python3的切片非常灵活,可以很方便地对有序序列进行切片操作,代码简单易用。

大家都知道,我们可以直接使用索引来访问序列中的元素,同时索引可分为正向和负向两种,而切片也会用到索引,下面放上一个图,有助于大家理解正、负向索引的区别。

这里写图片描述

切片

切片的语法表达式为:[start_index : end_index : step],其中:

  • start_index表示起始索引
  • end_index表示结束索引
  • step表示步长,步长不能为0,且默认值为1

切片操作是指按照步长,截取从起始索引到结束索引,但不包含结束索引(也就是结束索引减1)的所有元素。

  • python3支持切片操作的数据类型有listtuplestringunicoderange
  • 切片返回的结果类型与原对象类型一致
  • 切片不会改变原对象,而是重新生成了一个新的对象

下面看例子,先看一个完整的例子:

>>> C = ['A','B','C','D','E','F']
>>> C[0:4:1]
['A', 'B', 'C', 'D']

定义一个数组,包含'A','B','C','D','E','F'这6个元素,通过切片,按照步长为1,获取从索引0开始,到索引4结束但不包含索引4的所有元素,见下方示意图

这里写图片描述

省略step步长,因为步长有默认值为1,因此结果还是一样:

>>> C[0:4]
['A', 'B', 'C', 'D']

省略start_index,保留end_index,这样会从第一个元素开始,切到end_index - 1的元素为止:

>>> C[:5]
['A', 'B', 'C', 'D', 'E']

这里写图片描述

保留start_index,但省略end_index,这样会从起始索引开始,切到最后一个元素为止:

>>> C[2:]
['C', 'D', 'E', 'F']

这里写图片描述

省略start_indexend_indexstep,这样就表示就表示切片整个序列,也就是复制出了一个新的序列:

>>> C[:]
['A', 'B', 'C', 'D', 'E', 'F']

省略start_indexend_index,但保留step,表示对整个序列,按照步长整除的规则取值:

>>> C[::2]
['A', 'C', 'E']

此时,如果我们将步长设为-1,那么就可以很方便的得到一个反序的序列了:

>>> C[::-1]
['F', 'E', 'D', 'C', 'B', 'A']

下面这四种表达式是等价的:

>>> C[0:3]
['A', 'B', 'C']
>>> C[0:-3]
['A', 'B', 'C']
>>> C[-6:3]
['A', 'B', 'C']
>>> C[-6:-3]
['A', 'B', 'C']

这里写图片描述

切片时,一定要保证start_indexend_index的方向与步长step的方向同向,否则会切出空的序列:

>>> C[0:3:-1]
[]
>>> C[3:0:1]
[]

http://chatgpt.dhexx.cn/article/Wgpi4H7X.shtml

相关文章

Python列表切片详解([][:][::])

Python切片是list的一项基本的功能,最近看到了一个程序,里面有这样一句类似的代码: a list[::10] 不太明白两个冒号的意思就上网百度,发现大多数人写的博客中都没有提到这一个用法,因此自己翻阅《Python核心编程中文…

Numpy 数组切片

一、列表切片(一维数组) 1.1、切片原理 列表切片是从原始列表中提取列表的一部分的过程。在列表切片中,我们将根据所需内容(如,从何处开始,结束以及增量进行切片)剪切列表。Python中符合序列的…

python 字符串切片

1. 字符串的索引 字符串的索引从前往后是从0开始计数,从后往前是从-1开始依次 -1 2.字符串切片方法 语法格式 str[beginIndex:endIndex:step]取值结果: [begin,end) / 含头不含尾 步长不设置时默认为1 3.切片 ① 取x-y位置的字符串: 从中间开始,中间…

Python 列表切片操作

Python列表切片 切片是Python序列的重要操作之一,适用于列表、元组、字符串、range对象等。可以用切片截取列表中任何部分来获得一个新的列表,也可以进行元素的增、删、改。在Python中,序列的序号即可以从左向右以0开始依次增加,…

Python 列表切片详解

一、列表切片 切指–将某些东西切成小块。列表切片是从原始列表中提取列表的一部分的过程。在列表切片中,我们将根据所需内容(如,从何处开始,结束以及增量进行切片)剪切列表。 Python中符合序列的有序序列都支持切片&a…

详解Python中的切片(一看就懂版)

前言 在我们使用Python的时候,经常会听到“切片”这个词!那什么是切片呢?切片是对序列数据(列表、元组、字符串),根据下标索引,对一定范围内数据的获取。 简单来说就是,通过下标索引…

图片切片分割

在处理图片时,若加载一个大的图像,它加载所需要的时间一般会很长。 普通解决办法:压缩图片。 压缩时需要注意以下几个问题: 1、实际文件的大小; 2、分辨率; 3、压缩; 一般来说,压缩图片会使图像质量受…

python中[-1] [:-1] [::-1] [n::-1] 切片的用法

首先简明概要说明用法,然后再用实际例子阐述。 用法概述 [-1] [:-1] [::-1] [n::-1]都是python中切片的使用方法。 [-1]:获取最后一个元素,类似于matlab中的end;[:-1]:除了最后一个元素,获取其他所有的元…

第五节——切片

切片 切片(Slice)是一个拥有相同类型元素的可变长度的序列。它是基于数组类型做的一层封装。它非常灵活,支持自动扩容。切片是一个引用类型,它的内部结构包含地址、长度和容量。切片一般用于快速地操作一块数据集合。 切片定义 …

切片(slice)

一.切片的基本介绍(slice) (1) 切片是一个数组的引用,因此切片是引用类型,在进行传递时,遵守引用传递的机制。 (2) 切片的使用和数组类似,遍历切片、访问切片的元素和求切片长度len(slice)都一样 (3)切片的长度是可以变化的&#…

切片基础知识

一、切片含义 1.切片(slice)是对序列型对象的一种高级索引方法。python中是用来切割可迭代对象(容器) 2.切片对象:列表list, 字符串string, 元组tuple,range函数等 二、形式 一个完整的切片有三个参数 object[start:end:step…

Python中的切片(详细篇)学起来喔

Python中的切片知识. 在Python中,切片(slice)是对序列型对象(如list, string, tuple)的一种高级索引方法。 普通索引只取出序列中 一个下标 对应的元素,而切片取出序列中 一个范围 对应的元素,这里的范围不是狭义上的连续片段。通俗一点就是…

Python基础知识:切片

什么是切片操作 在Python中,切片(slice)是对序列型对象(如list, string, tuple)的一种高级索引方法。普通索引只取出序列中一个下标对应的元素,而切片取出序列中一个范围对应的元素,这里的范围不是狭义上的连续片段。下面的代码初步展示了切…

Django 对接 Mysql Datatime 日期格式化处理

查询显示结果时,前端界面会是英文格式显示日期,那么应该怎么处理? 这里直接在前端操作,将日期格式化 “ | ” 符号后,拼接日期格式根据本身数据库显示格式来去,我这里是年月日,时分秒

MySQL 日期类型小数秒的处理

一、 MySQL 日期类型对小数秒的支持 注:本文所使用MySQL版本为 5.7 版本。 官方文档:https://dev.mysql.com/doc/refman/5.7/en/fractional-seconds.html 1、小数秒位数精度 MySQL 支持小数秒的展示,比如官网的例子,在建表时&…

Java 接收 MySQL datetime 类型日期字段输出格式问题

文章目录 前言Java 与 MySQL 类型对应注解操作代码格式转换参考 前言 不管世事多艰难,别忘了,看开点儿,再温柔点儿,不要满身戾气,也不要紧皱眉头,生活都是在你眉开眼笑的时候,一天天好起来的。…

mysql查询数据库日期_mysql如何查询日期与时间

前言: 在项目开发中,一些业务表字段经常使用日期和时间类型,而且后续还会牵涉到这类字段的查询。关于日期及时间的查询等各类需求也很多,本篇文章简单讲讲日期及时间字段的规范化查询方法。 1.日期和时间类型概览 MySQL支持的日期和时间类型有 DATETIME、TIMESTAMP、DATE、…

操作MYSQL日期格式年 或 月 或 日

1,年(year): select year(create_time) from person2,月(month): select month(create_time) from person3,日(day): select day(create_time) from person4,yyyy-MM-…

关于Thymeleaf 日期字段时间格式化处理

1.接手项目时测试发现页面时间格式不对&#xff0c;如图所示&#xff1a; 代码调整前: <input type"text" name"recruitTime" th:field"*{recruitTime}" class"form-control" placeholder"yyyy-MM-dd HH:mm" required&g…

mysql里如何写日期_mysql之日期函数

写在前面 mysql的学习,断断续续,今天就接着学习mysql的日期操作吧。 系列文章 Mysql实战 1、获得当前时间格式yyyy-MM-dd HH:mm:ss select now(); 结果 另外一个获取当前时间的函数是:sysdate(); 区别:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值。 …