python切片长度_python的间隔切片技巧
python的切片(slice)技术是相当纯熟好用的,sequence(序列)对象都可以直接切片,list,字符串,tuple,bytes...
切片的基本操作,就是讲sequence对象的一部分切下来:
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> s
'123456789'
>>> t
(1, 2, 3, 4, 5, 6, 7, 8, 9)
>>> a[2:7]
[3, 4, 5, 6, 7]
>>> s[2:7]
'34567'
>>> t[2:7]
(3, 4, 5, 6, 7)
从index=2开始,到index=7,但是不取index=7这个位置!7-2=切下来的长度!
我尝试了一下,切片操作还能反过来,用负数index:
>>> a[-2:-7]
[]
>>> a[-2:7]
[]
>>> a[-2:]
[8, 9]
>>> a[-2:9]
[8, 9]
>>> b = [1,2,3,4,5,6,7,8]
>>> b
[1, 2, 3, 4, 5, 6, 7, 8]
>>> b[-7:-2]
[2, 3, 4, 5, 6]
>>> b[-7:-2:2]
[2, 4, 6]
间隔切片开始了,下面是每两个元素取一个:
>>> a[::2]
[1, 3, 5, 7, 9]
>>> s[::2]
'13579'
>>> t[::2]
(1, 3, 5, 7, 9)
>>>
>>> a[3::2]
[4, 6, 8]
>>> s[3::2]
'468'
>>> t[3::2]
(4, 6, 8)
>>>
>>> a[3:7:2]
[4, 6]
>>> s[3:7:2]
'46'
>>> t[3:7:2]
(4, 6)
最后那个数字2,表示步长,即每走2步干一票。当然可以自己修改这个数字了。用步长可以从右到做,即反过来走。
>>> a[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1]
>>> s[::-1]
'987654321'
>>> t[::-1]
(9, 8, 7, 6, 5, 4, 3, 2, 1)
>>>
>>> a[::-2]
[9, 7, 5, 3, 1]
>>> s[::-2]
'97531'
>>> t[::-2]
(9, 7, 5, 3, 1)
>>>
>>> a[3::-2]
[4, 2]
>>> s[3::-2]
'42'
>>> t[3::-2]
(4, 2)
现在可以反过来,从右到左切片了:
>>> a[100:2:-1]
[9, 8, 7, 6, 5, 4]
>>> s[100:2:-1]
'987654'
>>> t[100:2:-1]
(9, 8, 7, 6, 5, 4)
注意index=100,是合法的,只要index比最大的大,都是取最后的那个元素!
关键是切片操作的步长,这个参数的要义一定要get到。
-- EOF --
python切片长度_python的间隔切片技巧相关推荐
- python切片迭代_Python高级特性 切片 迭代解析
切片:方便截取list.tuple.字符串部分索引的内容 正序切片 语法:dlist = doList[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3.即索引0,1,2,正好是3个元素 ...
- python列表切片赋值_Python中对切片赋值原理分析
有这么个问题::t = [1, 2, 3] t[1:1] = [7] print t # 输出 [1, 7, 2, 3] 谁会对列表这么进行赋值呢?但是对于这个输出结果的原因确实值得去再了解下,今天 ...
- python字符串数组切片性能_python – 为数组切片赋值很慢
我正在尝试通过在Cython中实现它来优化 Python算法.我的问题是关于以下代码中存在的某个性能瓶颈: @cython.boundscheck(False) # turn off bounds-c ...
- python时间间隔循环_python循环间隔
广告关闭 回望2020,你在技术之路上,有什么收获和成长么?对于未来,你有什么期待么?云+社区年度征文,各种定制好礼等你! 序言如图1.1中关于如何用python去计算两个时间(年月日)相隔多少天,简 ...
- python 元组长度_Python 简明教程 ---11,Python 元组
微信公众号:码农充电站pro 软件工程的目标是控制复杂度,而不是增加复杂性. -- Dr. Pamela Zave 目录 我们在上一节介绍了Python 列表list 数据结构,本节来介绍一下元组tu ...
- python dry原则_python使用建议与技巧分享(一)
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获. 1 如何创建指定长度且有特定值的list 不推荐方式 list1 = [0, 0, 0, 0, 0, 0, 0 ...
- python csv性能_Python 使用和高性能技巧总结
1. 易混淆操作 本节对一些 Python 易混淆的操作进行对比. 1.1 有放回随机采样和无放回随机采样 import random random.choices(seq, k=1) # 长度为k的 ...
- python一些常用方法_python常用的一些技巧
python常用的一些技巧 1.三目操作符 2.鸭子类型(duck typing) 首先Python不支持多态,也不用支持多态,python是一种多态语言,崇尚鸭子类型.以下是维基百科中对鸭子类型得论 ...
- python linux 优化_Python 代码性能优化技巧
Python 性能优化除了改进算法,选用合适的数据结构之外,还有几种关键的技术,比如将关键 python 代码部分重写成 C 扩展模块,或者选用在性能上更为优化的解释器等,这些在本文中统称为优化工具. ...
最新文章
- jQuery 在Table中选择input之类的东西注意事项
- Linux find
- 【C++ 语言】面向对象 ( 成员函数 | 常量函数 | 友元函数 | 友元类 | 单例类 )
- 南开大学计算机机房,南京大学高性能计算中心揭秘(多图)
- 常量元素记忆口诀_人体中的常量元素与微量元素
- CakePHP之Model
- 用ab进行POST,GET压力测试,且定义header及json的内容
- 自定义按键_DNF手游:策划宣布新增自定义按键布局,期待手游新版本的到来
- qt 安装mysql_qt 安装mysql数据库
- linux java url 异常_java异常处理总结
- 前端实操案例丨如何实现JS向Vue传值
- 借助Sigar API获取内存信息
- 对话张冬洪 | 全面解读NoSQL数据库Redis的核心技术与应用实践
- UVCCamera AndroidUSBCamera示例运行错误的解决办法
- catalog英文翻译_Catalog.是什么意思
- python3基础(廖雪峰)
- element-plus 疯狂报警告 ElementPlusError: [Util] binding value must be a string or number.
- 清华系激光雷达公司,成了量产元年最大的黑马
- elasticsearch 条件去重_Elasticsearch7.* + SpringBoot2.*根据中文和拼音分页去重搜索-Go语言中文社区...
- 判断2000-2500年中的每一年是否为闰年,将结果输出。
热门文章
- 阿里云公布IP地理位置库抄袭调查结果;华为云电脑8月16日将停止服务和运营;Chrome 92发布|极客头条...
- 小众却顽强的编程语言 Erlang ,你了解多少?
- 滴滴自动驾驶首轮融资超5亿美元 加大研发投入 助力“新基建”
- 如何使用 SQL Server FILESTREAM 存储非结构化数据?
- 从 Nginx 到 Pandownload,程序员如何避免面向监狱编程?
- 看完这篇 HTTP,跟面试官扯皮就没问题了
- IntelliJ IDEA 2019.3 正式发布,给我们带来哪些新特性?| CSDN 博文精选
- 阿里开源物联网操作系统 AliOS Things 3.0 发布,集成平头哥 AI 芯片架构!
- 千亿智慧照明市场背后,BLEMESH免开发方案成主流
- 千年老二的 Python 值得学吗?