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小元素代码分享
Dec 18 Python
Python操作CouchDB数据库简单示例
Mar 10 Python
Python3学习笔记之列表方法示例详解
Oct 06 Python
Python实现返回数组中第i小元素的方法示例
Dec 04 Python
Python 加密与解密小结
Dec 06 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
Jun 03 Python
pyqt5 实现在别的窗口弹出进度条
Jun 18 Python
PyCharm更改字体和界面样式的方法步骤
Sep 27 Python
详解tensorflow2.x版本无法调用gpu的一种解决方法
May 25 Python
学习Python爬虫的几点建议
Aug 05 Python
Python钉钉报警及Zabbix集成钉钉报警的示例代码
Aug 17 Python
Python中正则表达式对单个字符,多个字符和匹配边界等使用
Jan 27 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 404错误页面实现代码
2009/06/22 PHP
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
2014/04/08 PHP
兼容ie6浏览器的php下载文件代码分享
2014/07/14 PHP
PHP图片自动裁切应付不同尺寸的显示
2014/10/16 PHP
PHP命名空间namespace用法实例分析
2016/09/27 PHP
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
你必须知道的Javascript知识点之&quot;this指针&quot;的应用
2013/04/23 Javascript
JS获取地址栏参数的小例子
2013/08/23 Javascript
常见浏览器多长时间会提示“脚本运行时间过长”总结
2014/04/29 Javascript
使用AngularJS实现表单向导的方法
2015/06/19 Javascript
jQuery超赞的评分插件(8款)
2015/08/20 Javascript
js实现数组冒泡排序、快速排序原理
2016/03/08 Javascript
JS实现列表的响应式排版(推荐)
2016/09/01 Javascript
BootStrapTable服务器分页实例解析
2016/12/20 Javascript
AngularJS实现路由实例
2017/02/12 Javascript
js实现移动端微信页面禁止字体放大
2017/02/16 Javascript
浅析从vue源码看观察者模式
2018/01/29 Javascript
JavaScript中变量、指针和引用功能与操作示例
2018/08/04 Javascript
5分钟快速掌握JS中var、let和const的异同
2018/09/19 Javascript
详解搭建es6+devServer简单开发环境
2018/09/25 Javascript
JavaScript console的使用方法实例分析
2020/04/28 Javascript
解决vue项目打包上服务器显示404错误,本地没出错的问题
2020/11/03 Javascript
Vue如何实现变量表达式选择器
2021/02/18 Vue.js
在Python中操作时间之strptime()方法的使用
2020/12/30 Python
Python中的if、else、elif语句用法简明讲解
2016/03/11 Python
详谈python http长连接客户端
2017/06/12 Python
Python小整数对象池和字符串intern实例解析
2020/03/21 Python
Pytorch学习之torch用法----比较操作(Comparison Ops)
2020/06/28 Python
使用jupyter notebook运行python和R的步骤
2020/08/13 Python
C,C++的几个面试题小集
2013/07/13 面试题
关于读书的活动方案
2014/08/14 职场文书
有关九一八事变的演讲稿
2014/09/14 职场文书
领导班子整改方案和个人整改措施
2014/10/25 职场文书
《生物入侵者》教学反思
2016/02/16 职场文书
python编写五子棋游戏
2021/05/25 Python
游戏《我的世界》澄清Xbox版暂无计划加入光追
2022/04/03 其他游戏