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求列表交集的方法汇总
Nov 10 Python
Python中多线程及程序锁浅析
Jan 21 Python
利用QT写一个极简单的图形化Python闹钟程序
Apr 07 Python
Python网络爬虫项目:内容提取器的定义
Oct 25 Python
浅谈Python由__dict__和dir()引发的一些思考
Oct 30 Python
利用Python进行异常值分析实例代码
Dec 07 Python
python编辑用户登入界面的实现代码
Jul 16 Python
python图形开发GUI库pyqt5的基本使用方法详解
Feb 14 Python
python烟花效果的代码实例
Feb 25 Python
Python numpy多维数组实现原理详解
Mar 10 Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
Jul 21 Python
Python实现生活常识解答机器人
Jun 28 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
PHP 数组遍历顺序理解
2009/09/09 PHP
删除无限分类并同时删除它下面的所有子分类的方法
2010/08/08 PHP
关于使用key/value数据库redis和TTSERVER的心得体会
2013/06/28 PHP
PHP实现根据浏览器跳转不同语言页面代码
2013/08/02 PHP
Bootstrap+PHP实现多图上传功能实例详解
2018/04/08 PHP
PHP设计模式之单例模式原理与实现方法分析
2018/04/25 PHP
js下用gb2312编码解码实现方法
2009/12/31 Javascript
window.location 对象所包含的属性
2014/10/10 Javascript
jquery专业的导航菜单特效代码分享
2015/08/29 Javascript
JS+CSS实现的经典tab选项卡效果代码
2015/09/16 Javascript
jQuery制作网页版选项卡
2016/07/28 Javascript
jQuery常用样式操作实例分析(获取、设置、追加、删除、判断等)
2016/09/08 Javascript
AngularJS ng-style中使用filter
2016/09/21 Javascript
前端主流框架vue学习笔记第二篇
2017/07/26 Javascript
原生javascript实现文件异步上传的实例讲解
2017/10/26 Javascript
五步轻松实现JavaScript HTML时钟效果
2020/03/25 Javascript
JS控制鼠标拒绝点击某一按钮的实例
2017/12/29 Javascript
JS实现可以用键盘方向键控制的动画
2020/12/11 Javascript
Python排序搜索基本算法之冒泡排序实例分析
2017/12/09 Python
Python实现ping指定IP的示例
2018/06/04 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
2018/12/26 Python
python的命名规则知识点总结
2019/10/04 Python
Python SSL证书验证问题解决方案
2020/01/13 Python
浅谈python多线程和多线程变量共享问题介绍
2020/04/17 Python
Python tkinter实现简单加法计算器代码实例
2020/05/13 Python
Python第三方包PrettyTable安装及用法解析
2020/07/08 Python
Python调用百度OCR实现图片文字识别的示例代码
2020/07/17 Python
CSS3中的5个有趣的新技术
2009/04/02 HTML / CSS
HTML5 canvas基本绘图之绘制线条
2016/06/27 HTML / CSS
争先创优公开承诺书
2014/08/30 职场文书
个人先进材料范文
2014/12/30 职场文书
2015国际残疾人日活动总结
2015/03/24 职场文书
刑事附带民事上诉状
2015/05/23 职场文书
结婚纪念日感言
2015/08/01 职场文书
2016年清明节寄语
2015/12/04 职场文书
Sleuth+logback 设置traceid 及自定义信息方式
2021/07/26 Java/Android