返回顶部
首页 > 资讯 > 后端开发 > Python >python切片详解
  • 938
分享到

python切片详解

切片详解python 2023-01-31 01:01:16 938人浏览 薄情痞子

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

摘要

先从原理上分析切片运算:list的切片,内部是调用__getitem__,__setitem__,__delitem__和slice函数。而slice函数又是和range()函数相关的。给切片传递的键是一个特殊的slice对象。该对象拥有可

先从原理上分析切片运算:

list的切片,内部是调用__getitem__,__setitem__,__delitem__和slice函数。而slice函数又是和range()函数相关的。

给切片传递的键是一个特殊的slice对象。该对象拥有可描述所请求切片方位的属性,例如:

a = [ 1, 2, 3, 4, 5, 6 ]

x = a [ 1 : 5 ] #  x = a.__getitem__( slice ( 1, 5, None ) )

a [ 1 : 3 ] = [10, 11, 12 ]#  a.__setitem__( slice ( 1, 3, None ), [ 10, 11, 12 ] )

del a [ 1 : 4 ]#  a.__delitem__( slice ( 1, 4, None ) )

python 的切片功能实际上比很多程序员认为的更强大。

a = m [ 0 : 100 : 10 ]  #  带步进的切片(步进值=10)

注意:步进值为step

当step > 0 时

切片从 start(含start)处开始,到end(不含end)处结束,**从左往右**,每隔(step-1)(索引之间的差仍为step,但相隔的元素是step-1个)个元素进行一次截取。

这时,start 指向的位置应该在end指向的位置的左边,否则返回值为空


当step < 0 时

切片从 start(含start)处开始,到end(不含end)处结束,**从右往左**,每隔(step-1)(索引之间的差仍为step,但相隔的元素是step-1个)个元素进行一次截取。

这时,start 指向的位置应该在end指向的位置的右边,否则返回值为空


有一个经典应用是:翻转字符串

比如:

>>> str='Pythontab.com'

>>> str[::-1]

结果为:

'moc.batnohtyp'


切片边界问题


实例:

s=[1,2,3,4]       # S 上界为 0 下界为 4

s[-100:100]       #返回 [1,2,3,4] -100超出了上界,100超出了下界:等价于 s[0:4]

s[-100:-200]      #返回 [] -100,-200均超出了上界,自动取上界:等价于s[0:0]

s[100:200]        #返回 [] 100,200均超出了下界,自动取下界值:等价于s[4:4]

s[:100]           #返回 [1,2,3,4] 开始值省略表示从第0个开始

s[0:]             #返回 [1,2,3,4] 结束值为空表示到最后一个结束

注意:我使用的python版本为python2.7,python的切片存在版本兼容问题。在python3中有更加高级的功能和用法,在使用时一定要注意自己的python版本。

参考资料:

Http://www.pythontab.com/html/2013/pythonjichu_0128/182.html

http://blog.163.com/ljq086%40126/blog/static/54963971201211513357332/

--结束END--

本文标题: python切片详解

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

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

猜你喜欢
  • python切片详解
    先从原理上分析切片运算:list的切片,内部是调用__getitem__,__setitem__,__delitem__和slice函数。而slice函数又是和range()函数相关的。给切片传递的键是一个特殊的slice对象。该对象拥有可...
    99+
    2023-01-31
    切片 详解 python
  • Python 列表切片详解
    一、列表切片      切指–将某些东西切成小块。列表切片是从原始列表中提取列表的一部分的过程。在列表切片中,我们将根据所需内容(如,从何处开始,结束以及增量进行切片)剪切列表。      Python中符合序列的有序序列都支持切片(sli...
    99+
    2023-09-24
    python 开发语言
  • Python中字符串切片详解
    目录1.没有步长的简单切片2.有步长的切片方式在python中,我们定义好一个字符串,如下所示。 在python中定义个字符串然后把它赋值给一个变量。我们可以通过下标访问单个的字符...
    99+
    2024-04-02
  • Python列表的切片取值详解
    目录1. 列表的切片2. 切片的语法3. 切片取值示例3.1 步长为1的切片取值3.2 步长为3的切片取值3.3 负索引取值1. 列表的切片 索引取值可以从列表中取出1个元素。 如果...
    99+
    2024-04-02
  • Python中数组切片的用法详解
    Python中数组切片的用法详解 一、python中“::-1”代表什么?二、python中“:”的用法三、python中数组切片三、numpy中的整数数组索引四、numpy中借助【切片 : ...
    99+
    2023-09-18
    python numpy 开发语言
  • Go中的nil切片和空切片区别详解
    Go语言在声明变量的时候,会自动对变量对应的内存区域进行初始化操作。每个变量会被初始化成其类型的默认值,例如: 整型和浮点型变量的默认值为0。 字符串变量的默认值为空字符串。 ...
    99+
    2022-06-07
    nil GO
  • Python字符串切片操作知识详解
    一:取字符串中第几个字符 print "Hello"[0] 表示输出字符串中第一个字符 print "Hello"[-1] 表示输出字符串中最后一个字符 二:字符串分割 print "Hello"[1...
    99+
    2022-06-04
    切片 字符串 详解
  • 详解Python中的切片(一看就懂版)
    前言 在我们使用Python的时候,经常会听到“切片”这个词!那什么是切片呢?切片是对序列数据(列表、元组、字符串),根据下标索引,对一定范围内数据的获取。 简单来说就是,通过下标索引获取一定范围内的...
    99+
    2023-08-31
    python numpy 开发语言
  • Python 切片
    1.1   切片取list或tuple中的部分元素是非常常见的操作。>>> L = ['Michael', 'Sarah','Tracy', 'Bob', 'Jack']>>> [L[0], L[1], ...
    99+
    2023-01-31
    切片 Python
  • Python切片知识解析
    切片原型 strs = ‘abcdefg' Strs[start: end:step] 切片的三个参数分别表开始,结束,步长 第一位下标为0,end位不取,如strs[1:3] = ‘bc' 如果start...
    99+
    2022-06-04
    切片 知识 Python
  • Go语言--切片(Slice)详解
    目录一、定义切片1、声明一个未指定大小的数组来定义切片2、使用make()函数来创建切片二、切片是可索引的1、len() 和 cap() 函数三、切片截取四、增加切片的容量说明: ...
    99+
    2024-04-02
  • python切片复制列表的知识点详解
    1、不指定开始和结束的索引[:],这样得到的切片就可以包含整个列表,然后给切片一个新的变量,从而实现复制列表。 2、创建原始列表的副本,两个列表的操作不会影响。 实例 names...
    99+
    2024-04-02
  • python基础知识之索引与切片详解
    目录基本索引嵌套索引切片numpy.array 索引 一维numpy.array 索引 二维pandas Series 索引pandas DataFrame 索引填坑总结基本索引 I...
    99+
    2024-04-02
  • Goslice切片使用示例详解
    目录定义定义并初始化长度和容量由数组得到切片更多切割方式举例切片的长度和容量切片再切片slice是引用类型总结定义 切片区别于数组,是引用类型, 不是值类型。数组是固定长度的,而切片...
    99+
    2024-04-02
  • golang切片原理详细解析
    目录切片的解析切片的初始化字面量初始化make初始化切片的截取切片的复制切片的扩容总结切片的解析 当我们的代码敲下[]时,便会被go编译器解析为抽象语法树上的切片节点, 被初始化为切...
    99+
    2024-04-02
  • Python中切片的详细操作篇
    目录Python中的切片知识.一、切片的索引方式二、索引的一般方式三、 切片操作的 详细切法1.切割单个值2.切割完整对象3.当start和end全部为正数时.4.当start和en...
    99+
    2024-04-02
  • Go基础系列:Go切片(分片)slice详解
    slice表示切片(分片),例如对一个数组进行切片,取出数组中的一部分值。在现代编程语言中,slice(切片)几乎成为一种必备特性,它可以从一个数组(列表)中取出任意长度的子数组(列...
    99+
    2024-04-02
  • python中的切片
    目录 一.切片的基础用法 二.切片是一个伪独立的对象  三.切片可作为占位符         众所周知,我们可以通过索引来查找序列类型(字符串,列表,元组...)中的单个元素。而切片是一种截取索引片段的技术,借助切片技术,我们可以十分灵活...
    99+
    2023-09-20
    python 开发语言
  • python-切片&迭代
    取一个list的部分元素是非常常见的操作。比如,一个list如下: L = ['Adam', 'Lisa', 'Bart', 'Paul'] 取前3个元素,应该怎么做? 笨方法: [L[0], L[1], L[2]]['Adam',...
    99+
    2023-01-31
    切片 迭代 python
  • python序列切片
    Python中的序列包括字符串、列表、元组,下面以字符串为例进行演示,列表和元组效果同字符串>>> a='0123456789' >>> a[0:2] '01' >>> a[3:5] '...
    99+
    2023-01-31
    切片 序列 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作