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 相关文章推荐
Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程
Nov 18 Python
Python实现的RSS阅读器实例
Jul 25 Python
如何在python中使用selenium的示例
Dec 26 Python
python实现周期方波信号频谱图
Jul 21 Python
Python + OpenCV 实现LBP特征提取的示例代码
Jul 11 Python
Python使用mongodb保存爬取豆瓣电影的数据过程解析
Aug 14 Python
PyTorch里面的torch.nn.Parameter()详解
Jan 03 Python
关于pytorch中全连接神经网络搭建两种模式详解
Jan 14 Python
TensorFlow自定义损失函数来预测商品销售量
Feb 05 Python
python lambda函数及三个常用的高阶函数
Feb 05 Python
Python如何对齐字符串
Jul 30 Python
python爬取2021猫眼票房字体加密实例
Feb 19 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服务器实现多session并发运行
2006/10/09 PHP
收集的DedeCMS一些使用经验
2007/03/17 PHP
php加密解密实用类分享
2014/01/07 PHP
ExtJS 学习专题(一) 如何应用ExtJS(附实例)
2010/03/11 Javascript
js调用打印机打印网页字体总是缩小一号的解决方法
2014/01/24 Javascript
浅析javascript中函数声明和函数表达式的区别
2015/02/15 Javascript
javascript实现画不相交的圆
2015/04/07 Javascript
JQuery中Bind()事件用法分析
2015/05/05 Javascript
jQuery实现鼠标划过添加和删除class的方法
2015/06/26 Javascript
js实现黑色简易的滑动门网页tab选项卡效果
2015/08/31 Javascript
Kindeditor在线文本编辑器如何过滤HTML
2016/04/14 Javascript
Javascript实现代码折叠功能
2016/08/25 Javascript
用jquery获取自定义的标签属性的值简单实例
2016/09/17 Javascript
localStorage实现便签小程序
2016/11/28 Javascript
重新理解JavaScript的六种继承方式
2017/03/24 Javascript
JS实现移动端触屏拖拽功能
2018/07/31 Javascript
layui实现下拉框三级联动
2019/07/26 Javascript
Vue 中获取当前时间并实时刷新的实现代码
2020/05/12 Javascript
jQuery实现简单全选框
2020/09/13 jQuery
vue-cli 关闭热更新操作
2020/09/18 Javascript
Python输出由1,2,3,4组成的互不相同且无重复的三位数
2018/02/01 Python
详解用TensorFlow实现逻辑回归算法
2018/05/02 Python
详解Python3中setuptools、Pip安装教程
2019/06/18 Python
Python Selenium 之数据驱动测试的实现
2019/08/01 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
2020/05/15 Python
python中pdb模块实例用法
2021/01/15 Python
pandas数据分组groupby()和统计函数agg()的使用
2021/03/04 Python
国旗下的讲话演讲稿
2014/05/08 职场文书
大学生安全责任书
2014/07/25 职场文书
万能检讨书开头与结尾怎么写
2015/02/17 职场文书
2015年小学财务工作总结
2015/07/20 职场文书
通讯稿格式及范文
2015/07/22 职场文书
外出培训学习心得体会
2016/01/18 职场文书
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
2021/03/30 HTML / CSS
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers
pytest实现多进程与多线程运行超好用的插件
2022/07/15 Python