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发腾讯微博代码分享
Jan 10 Python
解析Python中while true的使用
Oct 13 Python
深入解析Python中的__builtins__内建对象
Jun 21 Python
matplotlib.pyplot画图 图片的二进制流的获取方法
May 24 Python
numpy 计算两个数组重复程度的方法
Nov 07 Python
python 从文件夹抽取图片另存的方法
Dec 04 Python
python快排算法详解
Mar 04 Python
python 使用while写猜年龄小游戏过程解析
Oct 07 Python
python使用pymongo与MongoDB基本交互操作示例
Apr 09 Python
Python 按比例获取样本数据或执行任务的实现代码
Dec 03 Python
Python异常类型以及处理方法汇总
Jun 05 Python
Pytorch反向传播中的细节-计算梯度时的默认累加操作
Jun 05 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&&mysql)一
2006/10/09 PHP
php两种无限分类方法实例
2015/04/21 PHP
PHP并发多进程处理利器Gearman使用介绍
2016/05/16 PHP
PHP的自定义模板引擎
2017/03/24 PHP
复制本贴标题和地址的js代码
2008/07/01 Javascript
JavaScript获取GridView中用户点击控件的行号,列号
2009/04/14 Javascript
JS面向对象编程浅析
2011/08/28 Javascript
jquery使用each方法遍历json格式数据实例
2015/05/18 Javascript
详解JavaScript中的表单验证
2015/06/16 Javascript
javascript实现控制的多级下拉菜单
2015/07/05 Javascript
javascript阻止事件冒泡和浏览器的默认行为
2017/01/21 Javascript
React diff算法的实现示例
2018/04/20 Javascript
详解ES7 Decorator 入门解析
2019/02/18 Javascript
详解如何搭建mpvue框架搭配vant组件库的小程序项目
2019/05/16 Javascript
vue实现在线翻译功能
2019/09/27 Javascript
ES6之Proxy的get方法详解
2019/10/11 Javascript
element-ui table组件如何使用render属性的实现
2019/11/04 Javascript
Vue搭建后台系统需要注意的问题
2019/11/08 Javascript
react antd表格中渲染一张或多张图片的实例
2020/10/28 Javascript
Python实现检测服务器是否可以ping通的2种方法
2015/01/01 Python
九步学会Python装饰器
2015/05/09 Python
Python的GUI框架PySide的安装配置教程
2016/02/16 Python
python实现给微信指定好友定时发送消息
2019/04/29 Python
在python中用url_for构造URL的方法
2019/07/25 Python
Python根据服务获取端口号的方法
2019/09/25 Python
python实现高斯投影正反算方式
2020/01/17 Python
浅析Python 多行匹配模式
2020/07/24 Python
《四季》教学反思
2014/04/08 职场文书
航空学院求职信
2014/06/11 职场文书
公司优秀员工获奖感言
2014/08/14 职场文书
群众路线个人对照检查材料2014
2014/09/26 职场文书
加薪申请报告范本
2015/05/15 职场文书
联村联户简报
2015/07/21 职场文书
2019个人工作态度自我评价
2019/04/24 职场文书
如何利用JavaScript实现二叉搜索树
2021/04/02 Javascript
SpringCloud中分析讲解Feign组件添加请求头有哪些坑梳理
2022/06/21 Java/Android