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中变量交换的例子
Aug 25 Python
实例讲解Python中函数的调用与定义
Mar 14 Python
浅谈flask中的before_request与after_request
Jan 20 Python
TensorFlow入门使用 tf.train.Saver()保存模型
Apr 24 Python
机器学习实战之knn算法pandas
Jun 22 Python
python3.7简单的爬虫实例详解
Jul 08 Python
django认证系统实现自定义权限管理的方法
Aug 28 Python
Python实现图片裁剪的两种方式(Pillow和OpenCV)
Oct 30 Python
基于python2.7实现图形密码生成器的实例代码
Nov 05 Python
Python多线程获取返回值代码实例
Feb 17 Python
pandas DataFrame运算的实现
Jun 14 Python
Python常用配置文件ini、json、yaml读写总结
Jul 09 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
Apache2 httpd.conf 中文版
2006/12/06 PHP
php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)
2014/01/17 PHP
destoon整合UCenter图文教程
2014/06/21 PHP
php向js函数传参的几种方法
2014/08/10 PHP
Div Select挡住的解决办法
2008/08/07 Javascript
jQuery在IE下使用未闭合的xml代码创建元素时的Bug介绍
2012/01/10 Javascript
jquery中focus()函数实现当对象获得焦点后自动把光标移到内容最后
2013/09/29 Javascript
Js保留小数点的4种效果实现代码分享
2014/04/12 Javascript
最新最热最实用的15个jQuery插件汇总
2015/07/05 Javascript
EasyUI闪屏EasyUI页面加载提示(原理+代码+效果图)
2016/02/21 Javascript
JavaScript实现in-place思想的快速排序方法
2016/08/07 Javascript
Javascript使用SWFUpload进行多文件上传
2016/11/16 Javascript
angularjs实现简单的购物车功能
2017/09/21 Javascript
优雅的处理vue项目异常实战记录
2019/06/05 Javascript
[35:29]Secret vs VG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
python实现上传样本到virustotal并查询扫描信息的方法
2014/10/05 Python
[原创]教女朋友学Python3(二)简单的输入输出及内置函数查看
2017/11/30 Python
Python SQLAlchemy入门教程(基本用法)
2019/11/11 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
2019/11/29 Python
python 进制转换 int、bin、oct、hex的原理
2021/01/13 Python
CSS3 3D位移translate效果实例介绍
2016/05/03 HTML / CSS
利用css3 translate完美实现表头固定效果
2017/02/28 HTML / CSS
怎样写好自我鉴定
2013/12/04 职场文书
大学生志愿者感言
2014/01/15 职场文书
幼儿园庆六一活动方案
2014/03/06 职场文书
《鹬蚌相争》教学反思
2014/04/22 职场文书
人事任命书格式
2014/06/05 职场文书
机械专业技术员求职信
2014/06/14 职场文书
分居协议书范本
2014/11/03 职场文书
护士自荐信范文
2015/03/25 职场文书
2015年保洁工作总结范文
2015/04/28 职场文书
甲午大海战观后感
2015/06/02 职场文书
边城读书笔记
2015/06/29 职场文书
2015秋季开学典礼致辞
2015/07/16 职场文书
合作意向书范本
2019/04/17 职场文书
Python FuzzyWuzzy实现模糊匹配
2022/04/28 Python