python中使用序列的方法


Posted in Python onAugust 03, 2015

本文实例讲述了python中使用序列的方法。分享给大家供大家参考。具体如下:

列表、元组和字符串都是序列,但是序列是什么,它们为什么如此特别呢?序列的两个主要特点是索引操作符和切片操作符。索引操作符让我们可以从序列中抓取一个特定项目。切片操作符让我们能够获取序列的一个切片,即一部分序列。

#!/usr/bin/python
# Filename: seq.py
shoplist = ['apple', 'mango', 'carrot', 'banana']
# Indexing or 'Subscription' operation
print 'Item 0 is', shoplist[0]
print 'Item 1 is', shoplist[1]
print 'Item 2 is', shoplist[2]
print 'Item 3 is', shoplist[3]
print 'Item -1 is', shoplist[-1]
print 'Item -2 is', shoplist[-2]
# Slicing on a list
print 'Item 1 to 3 is', shoplist[1:3]
print 'Item 2 to end is', shoplist[2:]
print 'Item 1 to -1 is', shoplist[1:-1]
print 'Item start to end is', shoplist[:]
# Slicing on a string
name = 'swaroop'
print 'characters 1 to 3 is', name[1:3]
print 'characters 2 to end is', name[2:]
print 'characters 1 to -1 is', name[1:-1]
print 'characters start to end is', name[:]

输出:

Item 0 is apple
Item 1 is mango
Item 2 is carrot
Item 3 is banana
Item -1 is banana
Item -2 is carrot
Item 1 to 3 is ['mango', 'carrot']
Item 2 to end is ['carrot', 'banana']
Item 1 to -1 is ['mango', 'carrot']
Item start to end is ['apple', 'mango', 'carrot', 'banana']
characters 1 to 3 is wa
characters 2 to end is aroop
characters 1 to -1 is waroo
characters start to end is swaroop

它如何工作:

首先,我们来学习如何使用索引来取得序列中的单个项目。这也被称作是下标操作。每当你用方括号中的一个数来指定一个序列的时候,Python会为你抓取序列中对应位置的项目。记住,Python从0开始计数。因此,shoplist[0]抓取第一个项目,shoplist[3]抓取shoplist序列中的第四个元素。

索引同样可以是负数,在那样的情况下,位置是从序列尾开始计算的。因此,shoplist[-1]表示序列的最后一个元素而shoplist[-2]抓取序列的倒数第二个项目。

切片操作符是序列名后跟一个方括号,方括号中有一对可选的数字,并用冒号分割。注意这与你使用的索引操作符十分相似。记住数是可选的,而冒号是必须的。

切片操作符中的第一个数(冒号之前)表示切片开始的位置,第二个数(冒号之后)表示切片到哪里结束。如果不指定第一个数,Python就从序列首开始。如果没有指定第二个数,则Python会停止在序列尾。注意,返回的序列从开始位置 开始 ,刚好在 结束 位置之前结束。即开始位置是包含在序列切片中的,而结束位置被排斥在切片外。

这样,shoplist[1:3]返回从位置1开始,包括位置2,但是停止在位置3的一个序列切片,因此返回一个含有两个项目的切片。类似地,shoplist[:]返回整个序列的拷贝。

你可以用负数做切片。负数用在从序列尾开始计算的位置。例如,shoplist[:-1]会返回除了最后一个项目外包含所有项目的序列切片。

使用Python解释器交互地尝试不同切片指定组合,即在提示符下你能够马上看到结果。序列的神奇之处在于你可以用相同的方法访问元组、列表和字符串。

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python 切片和range()用法说明
Mar 24 Python
python发送邮件示例(支持中文邮件标题)
Feb 16 Python
Python中实现结构相似的函数调用方法
Mar 10 Python
python实现数值积分的Simpson方法实例分析
Jun 05 Python
Python 高级专用类方法的实例详解
Sep 11 Python
Python数据分析之获取双色球历史信息的方法示例
Feb 03 Python
python实现requests发送/上传多个文件的示例
Jun 04 Python
Python3匿名函数用法示例
Jul 25 Python
pygame游戏之旅 添加碰撞效果的方法
Nov 20 Python
PyCharm在新窗口打开项目的方法
Jan 17 Python
python数据预处理方式 :数据降维
Feb 24 Python
Python 求向量的余弦值操作
Mar 04 Python
python实现备份目录的方法
Aug 03 #Python
python使用MySQLdb访问mysql数据库的方法
Aug 03 #Python
浅谈Python中列表生成式和生成器的区别
Aug 03 #Python
详解Python3中的Sequence type的使用
Aug 01 #Python
将Python代码嵌入C++程序进行编写的实例
Jul 31 #Python
Python制作数据导入导出工具
Jul 31 #Python
简单理解Python中的装饰器
Jul 31 #Python
You might like
其他功能
2006/10/09 PHP
php Notice: Undefined index 错误提示解决方法
2010/08/29 PHP
php使用strtotime和date函数判断日期是否有效代码分享
2013/12/25 PHP
Thinkphp的volist标签嵌套循环使用教程
2014/07/08 PHP
php使用$_POST或$_SESSION[]向js函数传参
2014/09/16 PHP
PHP实现截取中文字符串不出现?号的解决方法
2016/12/29 PHP
Laravel实现定时任务的示例代码
2017/08/10 PHP
浅析JQuery UI Dialog的样式设置问题
2013/12/18 Javascript
js利用prototype调用Array的slice方法示例
2014/06/09 Javascript
jquery制作select列表双向选择示例代码
2014/09/02 Javascript
Node.js中的模块机制学习笔记
2014/11/04 Javascript
原生JavaScript编写俄罗斯方块
2015/03/30 Javascript
基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标
2016/01/22 Javascript
Vue.js第三天学习笔记(计算属性computed)
2016/12/01 Javascript
Ajax验证用户名或昵称是否已被注册
2017/04/05 Javascript
详谈js原型继承的一些问题
2017/09/06 Javascript
JS实现闭包中的沙箱模式示例
2017/09/07 Javascript
JavaScript复制内容到剪贴板的两种常用方法
2018/02/27 Javascript
在Vue项目中引入腾讯验证码服务的教程
2018/04/03 Javascript
[49:59]KG vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python实现上传样本到virustotal并查询扫描信息的方法
2014/10/05 Python
浅谈python为什么不需要三目运算符和switch
2016/06/17 Python
如何通过python实现全排列
2020/02/11 Python
使用python实现时间序列白噪声检验方式
2020/06/03 Python
Python类super()及私有属性原理解析
2020/06/15 Python
Web前端绘制0.5像素的几种方法
2017/08/11 HTML / CSS
小女主人连衣裙:Little Mistress
2017/07/10 全球购物
德国拖鞋网站:German Slippers
2019/11/08 全球购物
澳大利亚领先的女帽及配饰公司:Morgan&Taylor
2019/12/01 全球购物
JYSK加拿大:购买家具、床垫、家居装饰等
2020/02/14 全球购物
总账会计岗位职责
2014/03/13 职场文书
政府绩效管理实施方案
2014/05/04 职场文书
党员教师一句话承诺
2014/05/30 职场文书
2015年度优秀员工获奖感言
2015/07/31 职场文书
Java 超详细讲解十大排序算法面试无忧
2022/04/08 Java/Android
golang三种设计模式之简单工厂、方法工厂和抽象工厂
2022/04/10 Golang