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每隔N秒运行指定函数的方法
Mar 16 Python
Python实现字符串格式化的方法小结
Feb 20 Python
Python3中使用PyMongo的方法详解
Jul 28 Python
Python numpy 提取矩阵的某一行或某一列的实例
Apr 03 Python
Python面向对象程序设计之继承与多继承用法分析
Jul 13 Python
Python-Tkinter Text输入内容在界面显示的实例
Jul 12 Python
Django实现发送邮件功能
Jul 18 Python
Python爬虫爬取煎蛋网图片代码实例
Dec 16 Python
python使用Thread的setDaemon启动后台线程教程
Apr 25 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
Oct 15 Python
python读取excel数据并且画图的实现示例
Feb 08 Python
python控制台打印log输出重复的解决方法
May 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
基于mysql的论坛(4)
2006/10/09 PHP
php使用数组填充下拉列表框的方法
2015/03/31 PHP
PHP水印类,支持添加图片、文字、填充颜色区域的实现
2017/02/04 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
对laravel in 查询的使用方法详解
2019/10/09 PHP
关于IE BUG与字符串截取substr的解决办法
2013/04/10 Javascript
javascript中的事件代理初探
2014/03/08 Javascript
bootstrap data与jquery .data
2014/07/07 Javascript
ExpressJS入门实例
2015/01/14 Javascript
WordPress 单页面上一页下一页的实现方法【附代码】
2016/03/10 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
2016/07/09 Javascript
浅谈AngularJs指令之scope属性详解
2016/10/24 Javascript
Jquery-data的三种用法
2017/04/18 jQuery
详解nodejs express下使用redis管理session
2017/04/24 NodeJs
zTree 树插件实现全国五级地区点击后加载的示例
2018/02/05 Javascript
解决低版本的浏览器不支持es6的import问题
2018/03/09 Javascript
解决vuejs 使用value in list 循环遍历数组出现警告的问题
2018/09/26 Javascript
[01:38:19]夜魇凡尔赛茶话会 第五期
2021/03/11 DOTA
用Python代码来绘制彭罗斯点阵的教程
2015/04/03 Python
Django中更新多个对象数据与删除对象的方法
2015/07/17 Python
解决csv.writer写入文件有多余的空行问题
2018/07/06 Python
Python嵌套式数据结构实例浅析
2019/03/05 Python
python绘制地震散点图
2019/06/18 Python
TensorFlow梯度求解tf.gradients实例
2020/02/04 Python
浅谈matplotlib 绘制梯度下降求解过程
2020/07/12 Python
Peter Alexander新西兰站:澳大利亚领先的睡衣设计师品牌
2016/12/10 全球购物
域名注册、建站工具、网页主机、SSL证书:Dynadot
2017/01/06 全球购物
自荐信如何“自荐”
2013/10/24 职场文书
初中英语课后反思
2014/04/25 职场文书
班主任与学生安全责任书
2014/07/25 职场文书
2014县政府领导班子三严三实对照检查材料思想汇报
2014/09/26 职场文书
大学生入党积极分子党校学习思想汇报
2014/10/25 职场文书
结婚保证书(三从四德)
2015/02/26 职场文书
爱国主义电影观后感
2015/06/18 职场文书
Jupyter notebook 输出部分显示不全的解决方案
2021/04/24 Python
详解Python为什么不用设计模式
2021/06/24 Python