Python内建序列通用操作6种实现方法


Posted in Python onMarch 26, 2020

数据结构式通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些数据元素可以是数字或者字符,甚至可以是其他数据结构。在Python中,最基本的数据结构是序列(sequence)。序列中的每个元素被分配一个序号--即元素的位置,也称为索引。第一个元素索引是0,第二个则是1,一次类推。

Python包含6中内建的序列,即列表、元组、字符串、Unicode字符串、buffer对象和xrange对象。

通用序列操作:索引、分片、序列相加、乘法、成员资格、长度、最小值和最大值

1. 索引

序列中所有的元素都是有编号的--从0开始递增。可以通过编号分别对序列的元素进行访问。Python的序列也可以从右边开始索引,最右边的一个元素的索引为-1,想左开始递减。

>>> greeting='Hello' 
>>> greeting[2] 
'l' 
>>> greeting[-1] 
'o' 
>>> 'stringtesting'[3] #可以对任何一个字符串进行索引,该字符串的第三个索引为'i'字符 
'i' 
>>> fourth=raw_input('Year: ')[3] #可以对输入的字符串进行索引,这样对输入的字符串索引为3的感兴趣 
Year: 2014 
>>> fourth 
'4'

2. 分片

索引用来对单个元素进行访问,用分片可以对一定范围内的元素进行访问,分片通过冒号相隔的两个索引来实现。分片操作的实现需要提供两个索引作为边界,第一个索引的元素是包含在分片内的,第二个则不包含在分片内。

>>> number=[1,2,3,4,5,6,7,8,9,10] 
>>> number[2:4] #取索引为第二和第三的元素 
[3, 4] 
>>> number[-4:-1] #负数表明是从右开始计数 
[7, 8, 9] 
>>> number[-4:] #把第二个索引置空,表明包括到序列结尾的元素 
[7, 8, 9, 10] 
>>> number[:3] #同上,把第一个索引置空,表明包含序列开始的元素 
[1, 2, 3] 
>>> number[0:10:1] #默认在分片的时候,步长为1,这样指定步长为1,和默认的效果一样 
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
>>> number[0:10:2] #这里指定步长为2,这样就会跳过某些序列元素 
[1, 3, 5, 7, 9] 
>>> number[10:0:-1] #步长也可以是负数,但是第一个索引一定要大于第二个索引 
[10, 9, 8, 7, 6, 5, 4, 3, 2] 
>>> number[10:0:-2]  
[10, 8, 6, 4, 2]

对于一个正数步长,Python会从序列的头部开始向右提取元素,直到最后一个元素,而对于负数步长,则是从序列的尾部开始向左提取元素,直到第一个元素

3. 序列相加

>>> [1,2,3]+[4,5,6] 
[1, 2, 3, 4, 5, 6] 
>>> 'Hello '+'World!' 
'Hello World!' 
>>> [1,2,3]+'Hello' 
Traceback (most recent call last): 
 File "<stdin>", line 1, in <module> 
TypeError: can only concatenate list (not "str") to list

最后一个例子,试图列表和字符串进行相加,但是出错了,虽然他们都是序列,但是是不同数据类型,不能相加

4. 乘法

用数字x剩以一个序列会生成新的序列,而在新的序列中,原来的序列将会被重复x次。

>>> 'python'*4 
'pythonpythonpythonpython' 
>>> [None]*4 #None为Python的内建值,这里创建长度为4的元素空间,但是什么元素也不包含 
[None, None, None, None]

5. 成员资格

可以使用in运算符来检查一个值是否在序列中,如果在其中,就返回Ture,如果不在,就返回False。

>>> permission='rw' 
>>> 'r' in permission 
True 
>>> 'x' in permission 
False

6. 长度、最小值和最大值

内建函数len、min和max分别返回序列所包含的元素的数量,序列中的最小元素和序列中的最大元素。

>>> number=[2,3,4,5,6,7,8,9,10] 
>>> len(number) 
9 
>>> min(number) 
2 
>>> max(number) 
10 
>>> min(4,3,5) #函数的参数不用一定是序列,也可以是多个数字 
3

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python读取word文档的方法
May 09 Python
详解Python的collections模块中的deque双端队列结构
Jul 07 Python
Python机器学习之SVM支持向量机
Dec 27 Python
Python中str.join()简单用法示例
Mar 20 Python
python3实现网络爬虫之BeautifulSoup使用详解
Dec 19 Python
python根据txt文本批量创建文件夹
Dec 08 Python
Django如何实现网站注册用户邮箱验证功能
Aug 14 Python
Pandas时间序列基础详解(转换,索引,切片)
Feb 26 Python
Python将QQ聊天记录生成词云的示例代码
Feb 10 Python
python解包概念及实例
Feb 17 Python
深度学习详解之初试机器学习
Apr 14 Python
Django使用echarts进行可视化展示的实践
Jun 10 Python
PyQt5 界面显示无响应的实现
Mar 26 #Python
Python基于class()实现面向对象原理详解
Mar 26 #Python
Python文件读写w+和r+区别解析
Mar 26 #Python
Python装饰器实现方法及应用场景详解
Mar 26 #Python
pycharm中导入模块错误时提示Try to run this command from the system terminal
Mar 26 #Python
Python多进程编程常用方法解析
Mar 26 #Python
简单了解python调用其他脚本方法实例
Mar 26 #Python
You might like
PHP文件读写操作之文件读取方法详解
2011/01/13 PHP
如何在symfony中导出为CSV文件中的数据
2011/10/06 PHP
php如何调用webservice应用介绍
2012/11/24 PHP
ThinkPHP模型详解
2015/07/27 PHP
一段好玩的JavaScript代码
2006/12/01 Javascript
Jquery中的层次选择器与find()的区别示例介绍
2014/02/20 Javascript
textarea焦点的用法实现获取焦点清空失去焦点提示效果
2014/05/19 Javascript
Ajax局部更新导致JS事件重复触发问题的解决方法
2014/10/14 Javascript
常用的jQuery前端技巧收集
2014/12/24 Javascript
详解JavaScript中Date.UTC()方法的使用
2015/06/12 Javascript
配置Grunt的Task时通配符支持和动态生成文件名问题
2015/09/06 Javascript
关于javascript的一些知识以及循环详解
2016/09/12 Javascript
js中class的点击事件没有效果的解决方法
2016/10/13 Javascript
ndm:NPM的桌面GUI应用程序
2018/10/15 Javascript
React 条件渲染最佳实践小结(7种)
2020/09/27 Javascript
[49:31]TFT vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python模拟百度登录实例详解
2016/01/20 Python
Python编程之序列操作实例详解
2017/07/22 Python
Python探索之URL Dispatcher实例详解
2017/10/28 Python
Python去除、替换字符串空格的处理方法
2018/04/01 Python
解决pandas .to_excel不覆盖已有sheet的问题
2018/12/10 Python
Python中字符串List按照长度排序
2019/07/01 Python
Django视图扩展类知识点详解
2019/10/25 Python
简单了解python元组tuple相关原理
2019/12/02 Python
keras 如何保存最佳的训练模型
2020/05/25 Python
香港万宁官方海外旗舰店:香港健与美连锁店
2018/09/27 全球购物
巴西服装和鞋子购物网站:Marisa
2018/10/25 全球购物
为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限
2012/12/13 面试题
shell的种类有哪些
2015/04/15 面试题
水污染治理专业毕业生推荐信
2013/11/14 职场文书
教师推荐信范文
2013/11/24 职场文书
认错检讨书
2014/10/02 职场文书
教师作风建设剖析材料
2014/10/11 职场文书
乔迁之喜答谢词
2015/01/05 职场文书
监理中标通知书
2015/04/16 职场文书
2016中秋节晚会开场白
2015/11/26 职场文书