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和OpenCV库将URL转换为OpenCV格式的方法
Mar 27 Python
Python ftp上传文件
Feb 13 Python
python 截取 取出一部分的字符串方法
Mar 01 Python
python实现图片处理和特征提取详解
Nov 13 Python
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
May 13 Python
python实现宿舍管理系统
Nov 22 Python
python 实现人和电脑猜拳的示例代码
Mar 02 Python
基于Python爬虫采集天气网实时信息
Jun 05 Python
如何使用python写截屏小工具
Sep 29 Python
Python3+Flask安装使用教程详解
Feb 16 Python
python 实现德洛内三角剖分的操作
Apr 22 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配置心得包含MYSQL5乱码解决
2006/11/20 PHP
用PHP将数据导入到Foxmail的实现代码
2010/09/05 PHP
PHP易混淆函数的区别及用法汇总
2014/11/22 PHP
两种php去除二维数组的重复项方法
2015/11/04 PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
2017/08/15 PHP
PHP生成(支持多模板)二维码海报代码
2018/04/30 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
2019/10/11 PHP
Ext JS Grid在IE6 下宽度的问题解决方法
2009/02/15 Javascript
ExtJS 2.0实用简明教程之应用ExtJS
2009/04/29 Javascript
javascript下string.format函数补充
2010/08/24 Javascript
ExtJs Excel导出并下载IIS服务器端遇到的问题
2011/09/16 Javascript
JQuery判断子iframe何时加载完成解决方案
2013/08/20 Javascript
JavaScript计算两个日期时间段内日期的方法
2015/03/16 Javascript
JS模仿编辑器实时改变文本框宽度和高度大小的方法
2015/08/17 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
jQuery.deferred对象使用详解
2016/03/18 Javascript
第八篇Bootstrap下拉菜单实例代码
2016/06/21 Javascript
详解利用jsx写vue组件的方法示例
2017/07/17 Javascript
checkbox:click事件触发span元素内容改变的方法
2017/09/11 Javascript
JS和jQuery通过this获取html标签中的属性值(实例代码)
2017/09/11 jQuery
通过源码分析Vue的双向数据绑定详解
2017/09/24 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
2017/11/27 Javascript
python操作MySQL数据库的方法分享
2012/05/29 Python
Python基于回溯法子集树模板解决野人与传教士问题示例
2017/09/11 Python
如何使用Python自动控制windows桌面
2019/07/11 Python
python检查目录文件权限并修改目录文件权限的操作
2020/03/11 Python
HTML5 Canvas概述
2009/08/26 HTML / CSS
荷兰鞋子在线:Nelson Schoenen
2017/12/25 全球购物
"序列点" 是什么
2016/07/29 面试题
有abstract方法的类一定要用abstract修饰吗
2016/03/14 面试题
创新比赛获奖感言
2014/02/13 职场文书
教师个人自我评价范文
2014/04/13 职场文书
第二批党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
MySQL EXPLAIN输出列的详细解释
2021/05/12 MySQL
pytorch 梯度NAN异常值的解决方案
2021/06/05 Python
MySQL数据库事务的四大特性
2022/04/20 MySQL