python 切片函数,python切片详解
先从原理上分析切片运算:
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版本。
参考资料:
python 切片函数,python切片详解相关推荐
- Python return函数返回值详解
Python return函数返回值详解 到目前为止,我们创建的函数都只是对传入的数据进行了处理,处理完了就结束.但实际上,在某些场景中,我们还需函数将处理的结果反馈回来,就好像主管向下级员工下达命令 ...
- 站长在线Python精讲:在Python中函数的调用详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中函数的调用详解>.本文的主要内容有:调用函数的基本语法和调用自定义函数的实例讲解. 目录 1.调用函数的基本 ...
- python def函数报错详解_Python函数详解
一.Python中函数的概念 1.python中函数概念 Python中函数是逻辑结构化和过程化的一种编程方法. 2.python中函数定义方法解释 def name(a): "The fu ...
- python def函数报错详解_python自定义函数def的应用详解
这篇文章主要介绍了python自定义函数def的应用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 这里是三岁,来和大家唠唠 ...
- python def函数报错详解_python所有内置函数的定义详解
>>> def hello_world(): ... print('Hello,world!') # 注意函数体要有缩进 ... >>> hello_w ...
- python def函数报错详解_JSer 快速入门 Python 之函数详解
前一篇文章,用一天的时间,通过与 JavaScript 做对比的方式,快速领略了 Python 全貌. 梳理了那么多,若忽略细节差异,两门语言只有两个重要差异: 1.书写风格上大相同 2.功能覆盖上, ...
- python def函数报错详解_【python】详解python函数定义 def()与参数args、可变参数*args、关键参数**args使用实例...
Python内置了很多函数,可以直接调用.Python内置的函数可以通过官方文档查看.也可以通过help()查看帮助信息.函数名是指向函数对象的引用,把函数名赋给变量,相当于给函数起了别名. 1. 定 ...
- 零基础学Python:函数的参数详解
必备参数 关键字参数 默认参数 不定长参数 1 必需的参数: 必须参数须以正确的顺序传入函数,调用的数量必须和声明时的一样 def f(name,age):print('I am %s,I am %d ...
- python get函数用法_详解python中get函数的用法(附代码)
描述 Python 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法:dict.get(key, default=None) 参数 key – 字典中要查找 ...
- Python format函数的用法详解
1.通过位置来填充字符串 print('hello {0} i am {1}'.format('world','python')) # 输入结果:hello world i am python pri ...
最新文章
- ERROR: Failed to resolve: com.android.databinding:library:3.4.2
- 英特尔5G基带发布时间提前半年以上,但2019款iPhone支持5G仍有点悬
- C#实现Web应用程序定时启动任务
- python 为什么用%格式化_Python中应该使用%还是format来格式化字符串?
- redis internal【转】
- 解决 Maven 报错 Non-resolvable parent POM ... was cached in the local repository, resolution will not be
- 检查集群状态命令_轻松管理Kubernetes集群的7个工具
- 你以为用了BigDecimal后,计算结果就一定精确了?
- JavaScript 中数组方法 reduce 的妙用之处
- 自动挂机区块AI机器人源码开源支持二次开发
- mysql 主从 仅备份从库_MySQL主从复制 - 从数据库备份数据库
- linux去掉日志中的skipping,Linux日志文件总管 logrotate
- Callback、Listener、Worker、Manager的命名说明
- 企业网ARP欺骗网关攻击与伪DHCP分析与处理
- [ZT]如何建立通过防火墙的 NetMeeting 连接
- 详解使用可道云Kodbox快速在云服务器上搭建云盘
- Win10正式版激活方法有哪些?如何激活Win10?
- 谷歌VAD静音检测py-webrtcvad使用详解
- 现货白银价格走势分析
- 致家长--为什么选择Scratch
热门文章
- python 条形图 stack_python使用Plotly绘图工具绘制水平条形图
- 网页中竖的目录怎么改成横的_一点基础也没有,想快速练漂亮硬笔字,先练什么?怎么练进步明显?...
- 擦窗机器人不用时怎么收纳_解放双手,再也不用手动擦窗啦
- 什么叫做展望_在迷茫的时代,选择相信:关于2021经济的一些展望。
- pb实现简单计算器的思想_【python实用编程之简单矩阵计算器实现】GUI编程
- android fragment学习6--FragmentTabHost底部布局
- Python-视频爬取示例对小白友好
- 基于JAVA+SpringMVC+Mybatis+MYSQL的小说管理系统
- 作业帮:字符串反转(头部插入)
- SpringBoot中注册Servlet三大组件