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每天必学之bytes字节
Jan 28 Python
Python 12306抢火车票脚本
Feb 07 Python
python实现简单淘宝秒杀功能
May 03 Python
简单了解Pandas缺失值处理方法
Nov 16 Python
复化梯形求积分实例——用Python进行数值计算
Nov 20 Python
关于Tensorflow使用CPU报错的解决方式
Feb 05 Python
DataFrame.groupby()所见的各种用法详解
Jun 14 Python
keras 自定义loss model.add_loss的使用详解
Jun 22 Python
Flask处理Web表单的实现方法
Jan 31 Python
pycharm 实现光标快速移动到括号外或行尾的操作
Feb 05 Python
教你怎么用Python监控愉客行车程
Apr 29 Python
Python+OpenCV实现在图像上绘制矩形
Mar 21 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代码网站如何防范SQL注入漏洞攻击建议分享
2012/03/01 PHP
CI框架简单邮件发送类实例
2016/05/18 PHP
PHP数组对象与Json转换操作实例分析
2019/10/22 PHP
Js sort排序使用方法
2011/10/17 Javascript
表头固定(利用jquery实现原理介绍)
2012/11/08 Javascript
JavaScript中的函数重载深入理解
2014/08/04 Javascript
JS Array.slice 截取数组的实现方法
2016/01/02 Javascript
javascript仿京东导航左侧分类导航下拉菜单效果
2020/11/25 Javascript
JS针对浏览器窗口关闭事件的监听方法集锦
2016/06/24 Javascript
手机浏览器 后退按钮强制刷新页面方法总结
2016/10/09 Javascript
d3.js实现立体柱图的方法详解
2017/04/28 Javascript
微信小程序使用image组件显示图片的方法【附源码下载】
2017/12/08 Javascript
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
2018/09/18 Javascript
详解vue-cli+element-ui树形表格(多级表格折腾小计)
2019/04/17 Javascript
vue缓存的keepalive页面刷新数据的方法
2019/04/23 Javascript
微信小程序实现类似微信点击语音播放效果
2020/03/30 Javascript
javascript面向对象程序设计实践常用知识点总结
2019/07/29 Javascript
开发Node CLI构建微信小程序脚手架的示例
2020/03/27 Javascript
python getopt 参数处理小示例
2009/06/09 Python
Python图算法实例分析
2016/08/13 Python
windows下pycharm安装、创建文件、配置默认模板
2018/07/31 Python
python实现视频分帧效果
2019/05/31 Python
利用python实现逐步回归
2020/02/24 Python
Python基于yield遍历多个可迭代对象
2020/03/12 Python
浅谈JupyterNotebook导出pdf解决中文的问题
2020/04/22 Python
python 如何在测试中使用 Mock
2021/03/01 Python
斯凯奇新西兰官网:SKECHERS新西兰
2018/02/22 全球购物
瑞典耳机品牌:URBANISTA
2019/12/03 全球购物
华为智利官方商店:Huawei Chile
2020/05/09 全球购物
播音主持专业个人自我评价
2014/01/09 职场文书
黄金酒广告词
2014/03/21 职场文书
新闻编辑专业自荐信
2014/07/02 职场文书
党员民主生活会对照检查材料思想汇报
2014/09/28 职场文书
群众路线组织生活会发言材料
2014/10/17 职场文书
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers
SQL中去除重复数据的几种方法汇总(窗口函数对数据去重)
2023/05/08 MySQL