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实现k均值算法示例(k均值聚类算法)
Mar 16 Python
python实现自动重启本程序的方法
Jul 09 Python
Python工程师面试题 与Python Web相关
Jan 14 Python
Python简单生成8位随机密码的方法
May 24 Python
Python编程实现使用线性回归预测数据
Dec 07 Python
Python读取word文本操作详解
Jan 22 Python
python中的常量和变量代码详解
Jul 25 Python
Python帮你微信头像任意添加装饰别再@微信官方了
Sep 25 Python
基于python实现把图片转换成素描
Nov 13 Python
PyTorch和Keras计算模型参数的例子
Jan 02 Python
Python2与Python3关于字符串编码处理的差别总结
Sep 07 Python
如何利用Python 进行边缘检测
Oct 14 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实现用已经过去多长时间的方式显示时间
2015/06/05 PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
2016/03/18 PHP
Ext对基本类型的扩展 ext,extjs,format
2010/12/25 Javascript
在Windows上安装Node.js模块的方法
2011/09/25 Javascript
javascript实现右侧弹出“分享到”窗口效果
2016/02/01 Javascript
javascript实现九宫格相加数值相等
2020/05/28 Javascript
AngularJS 如何在控制台进行错误调试
2016/06/07 Javascript
jQuery插件Validation快速完成表单验证的方式
2016/07/28 Javascript
jQuery stop()用法实例详解
2016/07/28 Javascript
jQuery 利用$.ajax 时获取原生XMLHttpRequest 对象的方法
2016/08/25 Javascript
Bootstrap如何激活导航状态
2017/03/22 Javascript
JavaScript设计模式之策略模式详解
2017/06/09 Javascript
浅谈Angularjs中不同类型的双向数据绑定
2018/07/16 Javascript
为什么说JavaScript预解释是一种毫无节操的机制详析
2018/11/18 Javascript
jQuery实现轮播图效果demo
2020/01/11 jQuery
vue项目或网页上实现文字转换成语音播放功能
2020/06/09 Javascript
小程序实现列表展开收起效果
2020/07/29 Javascript
用Python中的wxPython实现最基本的浏览器功能
2015/04/14 Python
python如何派生内置不可变类型并修改实例化行为
2018/03/21 Python
实例讲解python中的序列化知识点
2018/10/08 Python
使用python读取.text文件特定行的数据方法
2019/01/28 Python
python使用正则来处理各种匹配问题
2019/12/22 Python
sklearn+python:线性回归案例
2020/02/24 Python
Trina Turk官网:美国时装和泳装品牌
2018/06/10 全球购物
华为的Java面试题
2014/03/07 面试题
物业经理求职自我评价
2013/09/22 职场文书
机电专业大学生求职信
2013/10/04 职场文书
《逃家小兔》教学反思
2014/02/23 职场文书
大学生应聘求职信
2014/05/26 职场文书
趣味运动会策划方案
2014/06/02 职场文书
2014年前台个人工作总结
2014/11/14 职场文书
2014年底工作总结
2014/12/15 职场文书
2015年教研员工作总结
2015/05/26 职场文书
遗嘱格式范本
2015/08/07 职场文书
Nginx tp3.2.3 404问题解决方案
2021/03/31 Servers
Python利用capstone实现反汇编
2022/04/06 Python