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中使用OpenCV进行人脸检测的例子
Apr 18 Python
python字符串排序方法
Aug 29 Python
python制作最美应用的爬虫
Oct 28 Python
Python的mysql数据库的更新如何实现
Jul 31 Python
Python之自动获取公网IP的实例讲解
Oct 01 Python
对numpy 数组和矩阵的乘法的进一步理解
Apr 04 Python
Python爬虫抓取代理IP并检验可用性的实例
May 07 Python
解决pandas使用read_csv()读取文件遇到的问题
Jun 15 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
Jun 26 Python
Python3实现mysql连接和数据框的形成(实例代码)
Jan 17 Python
django中ImageField的使用详解
Dec 21 Python
PyChon中关于Jekins的详细安装(推荐)
Dec 28 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入门学习知识点三 PHP上传
2011/07/14 PHP
安装apache2.2.22配置php5.4(具体操作步骤)
2013/06/26 PHP
php遍历文件夹下的所有文件和子文件夹示例
2014/03/20 PHP
setTimeout 不断吐食CPU的问题分析
2009/04/01 Javascript
JQuery浮动DIV提示信息并自动隐藏的代码
2010/08/29 Javascript
NodeJs中的非阻塞方法介绍
2012/06/05 NodeJs
javascript列表框操作函数集合汇总
2013/11/28 Javascript
Javascript四舍五入Math.round()与Math.pow()使用介绍
2013/12/27 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
2015/05/06 Javascript
jQuery使用each方法与for语句遍历数组示例
2016/06/16 Javascript
Angular 4.x 路由快速入门学习
2017/05/03 Javascript
react-native中ListView组件点击跳转的方法示例
2017/09/30 Javascript
NodeJs form-data格式传输文件的方法
2017/12/13 NodeJs
在 React、Vue项目中使用SVG的方法
2018/02/09 Javascript
angularJs提交文本框数据到后台的方法
2018/10/08 Javascript
基于 jQuery 实现键盘事件监听控件
2019/04/04 jQuery
JS this关键字在ajax中使用出现问题解决方案
2020/07/17 Javascript
基于javascript实现放大镜特效
2020/12/03 Javascript
Python 执行字符串表达式函数(eval exec execfile)
2014/08/11 Python
Python使用googletrans报错的解决方法
2018/09/25 Python
numpy linalg模块的具体使用方法
2019/05/26 Python
基于Tensorflow使用CPU而不用GPU问题的解决
2020/02/07 Python
django之从html页面表单获取输入的数据实例
2020/03/16 Python
C/C++程序员常见面试题一
2012/12/08 面试题
后勤岗位职责
2013/11/26 职场文书
公司财务自我评价分享
2013/12/17 职场文书
农业资源与环境专业自荐信范文
2013/12/30 职场文书
餐饮业创业计划书范文
2014/01/06 职场文书
浙大毕业生自荐信
2014/01/26 职场文书
毕业生自荐信如何写
2014/03/24 职场文书
专业技术职务聘任书
2014/03/29 职场文书
党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
2014年教师教学工作总结
2014/11/08 职场文书
超市员工管理制度
2015/08/06 职场文书
使用pandas生成/读取csv文件的方法实例
2021/07/09 Python
Python sklearn分类决策树方法详解
2022/09/23 Python