iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python切片操作方法的实例总结
  • 575
分享到

python切片操作方法的实例总结

2024-04-02 19:04:59 575人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录前言一、切片的2种索引方向二、切片的操作方式三、一些基本操作1、切取单个对象2、切取整个列表3、步长step正负值 决定索引方向的一些案例四、进阶操作1.修改某个元素值2.替换元

文章参考自:link.

前言

最近学习python切片,时而醍醐灌顶时而云里雾里,今天终于弄清楚了 python切片 里面自己经常疑惑的地方,记录一下,方便以后查看。

一、切片的2种索引方向

如果掌握切片方法,就能对所有目标值进行随意切取,然鹅可切片的目标对象有2种索引方向:正索引负索引。如下图所示,
以 a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]举例:

这个字符串 a 的正索引是由左往右,头下标是0,尾下标是9;

它的负索引是由右往左,头下标是-1,尾下标是-10.

二、切片的操作方式

要想成功完成切片,那么需要包含2个 ‘ :’符号,以及3个参数,分别是start_index、end_index、step,一个完整的切片表达式如下所示:

切片操作基本表达式:object[start_index : end_index : step]

1、开始索引 start_index :表示的是开始切片的位置,并且切片结果包含该索引下的值;

2、终止索引 end_index: 表示的结束切片的位置,并且切片结果不包含该索引下的值;

3、步长step :表示切取的步长值,可正可负,step为正时,索引方向为正方向,step为负时,索引方向为负方向,当step值省略时,默认取值为1。

切记:步长正负决定切片方向,非常重要!!

当未写start_index、end_index的值时,都默认,从索引的端点处开始

三、一些基本操作

以下举例对象都是列表 a = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

1、切取单个对象

切取索引为3的位置所对应的值:

2、切取整个列表

不填写值的时候,从端点处开始

3、步长step正负值 决定索引方向的一些案例

step=1,由左向右,包含start_index =1索引本身包括的值,不包括终止索引end_index =5本身包含的值。

// An highlighted block
>>> a [1: 5: ]
[1, 2, 3, 4]
>>> # 步长step = 1,默认值,由左往右正索引方向

step = -1,由右向左,依旧不包含终止索引=5本身所包含的值

// An highlighted block
>>> a [ : 5 :-1]
[9, 8, 7, 6]
>>> # 步长step= -1,负索引,
起始索引没写,表示从端点开始由右往左,终止索引是5

索引方向相互矛盾,值为空

// An highlighted block
>>> a [7 : 2 ]
[]
>>> # 这是因为起始索引为7终止索引为2,方向是由右往左,
>但是步长step默认是1,表示正索引,由左往右,两者方向矛盾值为空

索引值为负的情况,一切以step值正负为准,决定索引方向!

// An highlighted block
>>> a [ -6 : :]
[4, 5, 6, 7, 8, 9]
>>> #起始于 start_index = -6,步长为1,由左向右

根据前面所学,切片结果包含起始索引位置的值,但不包含终止索引位置的值,这种情况指的是给定了具体的终止索引,如下:

// An highlighted block
>>> #给了明确的终止索引位置,那结果就不包含终止索引本身的值
如下不包含end_index = 5位置上的值
>>> a [ : 5 : -1 ]
[9, 8, 7, 6]

这个案列是包含了终止索引位置的值,参照上条加入对比。

也就是说,指定了具体的终止索引位置,那么取值不包括这个位置上的值,如果没指定,默认终止索引就在端点处,那么取值包括该位置的值

// An highlighted block
>>> a [ 5: : -1]
[5, 4, 3, 2, 1, 0]
>>> #没有指定具体的终止索引位置,所以默认终止于端点处,
因此包含端点处的值,即0

四、进阶操作

1.修改某个元素值

直接将修改后的值带入进索引里面

// An highlighted block
>>> a [ 2 ] = [ 'A' ]
>>> print (a)
[0, 1, ['A'], 3, 4, 5, 6, 7, 8, 9]
 #直接在需要修改的索引处赋值,将索引值 = 2的值修改为['A']

2.替换元素值

是从起始索引开始,包含起始索引本身的值,将数值插入,然后再将终止索引本身及以后的值,紧跟在插入数值后面就行了,不包含终止索引本身。下面以替代索引3和5之间的元素为案例分析

包含 “起始索引=3 ”的元素本身,不包含”终止索引 = 5“的元素本身,元素个数应该是2个。

(1)给定替换的元素个数 = 2

// An highlighted block
>>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print (a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a [ 3: 5] = [ 'b', 'c']
>>> print (a)
[0, 1, 2, 'b', 'c', 5, 6, 7, 8, 9]
>>> #替代写法,将起始索引本身的值到终止索引前一个索引之间的值进行替换,
>终止索引本身的数值不替换

(2)给定替换的元素个数 > 2个

// An highlighted block
>>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print (a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a [ 3: 5 ] = [ 'b', 'c', 'd', 'e']
>>> print (a)
[0, 1, 2, 'b', 'c', 'd', 'e', 5, 6, 7, 8, 9]
>>>  #插入写法,从开始索引为3的地方带入插入值,带入插入数值后,
将索引值为5的值本身及其后面的值紧跟着排列在后就行

(3)给定替换的元素个数 < 2。

// An highlighted block
>>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print (a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a [ 3: 5 ] = [ 'b' ]
>>> print (a)
[0, 1, 2, 'b', 5, 6, 7, 8, 9]
>>> # 替换了起始索引 = 3本身的值,
>终止索引=5及其以后的值都紧跟在插入值后面,
>索引=4处的值伴随着索引 = 3的值一起被替换掉了

3、插入元素值

切片这里,最困惑的就是没理解替换元素值、和插入元素值两者的区别,现在恍然大悟,替换的原理如上所述,接下来插入元素值其实很简单,只要保持,终止索引、起始索引是同一个值再进行赋值就可以了

(1)插入一个元素

// An highlighted block
>>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print (a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a [6:6 ] = ['c', 'd', 'e', 'f','g']
>>> print (a)
[0, 1, 2, 3, 4, 'b', 'c', 'd', 'e', 'f', 'g', 5, 6, 7, 8, 9]
>>> #插入多个元素,其他原本的元素值和个数都不发生改变

(2)插入多个元素,甚至字符串

// An highlighted block
>>> a = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print (a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a [ 3: 3] = [ 'hello , world!']
>>> print (a)
[0, 1, 2, 'hello , world!', 3, 4, 5, 6, 7, 8, 9]

4、选择切片位置

(1)取索引值为偶数的位置进行切片

// An highlighted block
>>> a = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print(a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a [ : : 2]
[0, 2, 4, 6, 8]
>>> # 选取索引值为偶数的位置进行切片

(2)选取索引值为奇数的位置进行切片

// An highlighted block
>>> a = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print(a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a [ 1: :2]
[1, 3, 5, 7, 9]
>>> # 选取索引值为奇数的位置进行切片

综上,就是今天学习Python切片的小结,记录完成!

总结

到此这篇关于python切片操作方法的文章就介绍到这了,更多相关python切片操作方法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python切片操作方法的实例总结

本文链接: https://www.lsjlt.com/news/118871.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python切片操作方法的实例总结
    目录前言一、切片的2种索引方向二、切片的操作方式三、一些基本操作1、切取单个对象2、切取整个列表3、步长step正负值 决定索引方向的一些案例四、进阶操作1.修改某个元素值2.替换元...
    99+
    2024-04-02
  • Python 文件操作方法总结
    目录文件处理流程基本操作打开文件 读文件内容关闭文件写文件文件处理流程 1.打开文件,得到文件句柄并赋值给一个变量2.通过句柄对文件进行操作3.关闭文件  r模式...
    99+
    2024-04-02
  • Python操作Hive的两种方法总结
    方法一:使用PyHive库 安装依赖包:其中sasl安装可能会报错,可以去https://www.lfd.uci.edu/~gohlke/pythonlibs/#sasl下载对应版本安装。 pip install sasl pip in...
    99+
    2023-01-31
    两种 操作 方法
  • NumPy索引与切片的用法示例总结
    前言 索引和切片是NumPy中最重要最常用的操作。熟练使用NumPy切片操作是数据处理和机器学习的前提,所以一定要掌握好。 参考NumPy官方文档,总结NumPy索引和切片,可以看到...
    99+
    2024-04-02
  • 梳理总结25个JavaScript数组操作方法实例
    目录1.删除数组重复项2. 获取数组的片段3.Array.from 达到 .map 的效果4.置空数组5. 将数组转换为对象6. 用数据填充数组7. 数组合并8.求两个数组的交集9....
    99+
    2024-04-02
  • Python 数组的切片操作
     高级特性 切片操作:对list,tuple元素进行截取操作,非常简便。 L[0:3],L[:3] 截取前3个元素。 L[1:3] 从1开始截取2个元素出来。 L[-1] 取倒数第一个元素出来。 L[-10] 取后10个数 L[10:...
    99+
    2023-01-31
    数组 切片 操作
  • python切片操作中的tricks
    这篇文章主要为大家展示了“python切片操作中的tricks”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python切片操作中的tricks”这篇文章吧。切片操作中的tricksa ...
    99+
    2023-06-27
  • python读写删除复制文件操作方法详细实例总结
    python读文件操作 1. read三种不同的方式 f = open('hello.txt') #'hello.txt'指的是文件的名称 while True: text ...
    99+
    2024-04-02
  • Python opencv应用实现图片切分操作示例
    目录说明操作说明代码切换效果说明 之前下载来zip包的漫画,里面的图片都是两张一起的: 但是某些漫画查看软件不支持自动分屏,看起来会比较不舒服,所以只能自己动手来切分。 操作说明 ...
    99+
    2024-04-02
  • numpy切片操作方法是什么
    numpy切片操作方法:1、一维数组切片,可以使用类似于Python中的列表切片的方式来进行切片操作;2、二维数组切片,可以使用两个索引值来进行切片操作,第一个索引值表示行,第二个索引值表示列;3、多维数组切片,可以使用多个索引值来进行切片...
    99+
    2023-11-22
    numpy 切片
  • Python图片爬取方法总结
    1. 最常见爬取图片方法 对于图片爬取,最容易想到的是通过urllib库或者requests库实现。具体两种方法的实现如下: 1.1 urllib 使用urllib.request.urlretrieve方法,通过图片url和存储的名称完...
    99+
    2023-01-31
    方法 图片 Python
  • 详解C#操作XML的方法总结
    本文的主要模块为: 1.生成xml文件 2.遍历xml文件的节点信息 3.修改xml文件的节点信息 4.向xml文件添加节点信息 5.删除指定xml文件的节点信息 假设我们需要设计出...
    99+
    2022-11-13
    C#操作XML方法 C#操作XML C# XML
  • 总结Golang中删除切片元素的常用方法
    在Golang中,切片是一种非常常用的数据类型。在进行数据处理时,我们常常会遇到需要删除切片中某些元素的情况。本文将介绍Golang中常用的删除切片元素的方法。一、使用append函数删除切片元素在Golang中,使用append函数可以对...
    99+
    2023-05-14
  • C#操作Excel相关方法总结
    C#操作Excel相关方法总结:1. 创建Excel文件:- 使用Microsoft.Office.Interop.Excel库中的Application对象创建一个新的Excel文件。- 使用NPOI或EPPlus等开源库创建一个新的...
    99+
    2023-08-09
    C#
  • java IO 文件操作方法总结
    java IO 文件操作方法总结对于输入输出的理解:    输入输出,以程序为参考点,外部数据进入程序,通过输入流完成。程序将数据给外部设备,通过输出流完成。文件Io的操作//获取文件File file=new...
    99+
    2023-05-31
    java io
  • python列表的查询操作和切片方法是什么
    本篇内容主要讲解“python列表的查询操作和切片方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python列表的查询操作和切片方法是什么”吧!1.列表列表是python内置的数据结构...
    99+
    2023-06-26
  • Python3字符串操作方法总结
    这篇文章主要讲解了“Python3字符串操作方法总结”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python3字符串操作方法总结”吧!1capitalize() 将字符串的第一个字符转换为...
    99+
    2023-06-04
  • js常用节点操作实例总结
    一:父节点 1:返回父节点 element.parentNode,得到的是离元素最近的父节点。如果找不到则返回为null代码: <body> <div>...
    99+
    2023-05-17
    js 节点操作
  • Python中切片的详细操作篇
    目录Python中的切片知识.一、切片的索引方式二、索引的一般方式三、 切片操作的 详细切法1.切割单个值2.切割完整对象3.当start和end全部为正数时.4.当start和en...
    99+
    2024-04-02
  • JavaScript操作数组的常用方法总结
    我们在日常开发过程中,使用到原生 JavaScript的时候,有时候会频繁的对数组进行操作,今天我把工作以来,经常用到的有关 JavaScript数组的方法总结一...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作