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通过openpyxl生成Excel文件的方法
May 12 Python
深入源码解析Python中的对象与类型
Dec 11 Python
Python利用pandas计算多个CSV文件数据值的实例
Apr 19 Python
TensorFlow实现卷积神经网络
May 24 Python
python从子线程中获得返回值的方法
Jan 30 Python
PyTorch实现ResNet50、ResNet101和ResNet152示例
Jan 14 Python
python topk()函数求最大和最小值实例
Apr 02 Python
django创建超级用户时指定添加其它字段方式
May 14 Python
pytorch SENet实现案例
Jun 24 Python
Python实现像awk一样分割字符串
Sep 15 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
Sep 23 Python
python 下划线的不同用法
Oct 24 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模板的朋友必看的很多个顶级PHP模板引擎比较分析
2008/05/26 PHP
解析php取整的几种方式
2013/06/25 PHP
Javascript面向对象编程(三) 非构造函数的继承
2011/08/28 Javascript
使用POST方式弹出窗口的两种方法示例介绍
2014/01/29 Javascript
JS中的构造函数详细解析
2014/03/10 Javascript
详解JavaScript中的every()方法
2015/06/08 Javascript
JavaScript实现的MD5算法完整实例
2016/02/02 Javascript
理解javascript中Map代替循环
2016/02/26 Javascript
js获取iframe中的window对象的实现方法
2016/05/20 Javascript
JS实现鼠标框选效果完整实例
2016/06/20 Javascript
一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]
2016/12/01 Javascript
JavaScript使用readAsDataUrl方法预览图片
2017/05/10 Javascript
原生js实现form表单序列化的方法
2018/08/02 Javascript
Vue发布项目实例讲解
2019/07/17 Javascript
基于js实现逐步显示文字输出代码实例
2020/04/02 Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
2020/08/04 Javascript
[05:03]2018DOTA2亚洲邀请赛主赛事首日回顾
2018/04/04 DOTA
用实例解释Python中的继承和多态的概念
2015/04/27 Python
收藏整理的一些Python常用方法和技巧
2015/05/18 Python
实例讲解Python中SocketServer模块处理网络请求的用法
2016/06/28 Python
Python PO设计模式的具体使用
2019/08/16 Python
pytorch加载自定义网络权重的实现
2020/01/07 Python
Expedia泰国:预订机票、酒店和旅游包(航班+酒店)
2016/09/27 全球购物
美国儿童珠宝在线零售商:Loveivy
2019/05/22 全球购物
在C#中如何实现多态
2014/07/02 面试题
斯福泰克软件测试面试题
2015/02/16 面试题
社团活动总结报告
2014/06/27 职场文书
励志演讲稿200字
2014/08/21 职场文书
见习报告的格式
2014/11/04 职场文书
大明湖导游词
2015/02/03 职场文书
幼师自荐信范文(2016推荐篇)
2016/01/28 职场文书
导游词幽默开场白
2019/06/26 职场文书
关于销售人员的年终工作总结要点
2019/08/15 职场文书
浅谈node.js中间件有哪些类型
2021/04/29 Javascript
css实现两栏布局,左侧固定宽,右侧自适应的多种方法
2021/08/07 HTML / CSS
Pygame如何使用精灵和碰撞检测
2021/11/17 Python