python基础教程之序列详解


Posted in Python onAugust 29, 2014

sequence 序列

sequence(序列)是一组有顺序的元素的集合

(严格的说,是对象的集合,但鉴于我们还没有引入“对象”概念,暂时说元素)

序列可以包含一个或多个元素,也可以没有任何元素。

我们之前所说的基本数据类型,都可以作为序列的元素。元素还可以是另一个序列,以及我们以后要介绍的其他对象。

序列有两种:tuple(定值表; 也有翻译为元组) 和 list (表)

>>>s1 = (2, 1.3, 'love', 5.6, 9, 12, False)         # s1是一个tuple
>>>s2 = [True, 5, 'smile']                          # s2是一个list
>>>print s1,type(s1)
>>>print s2,type(s2)

tuple和list的主要区别在于,一旦建立,tuple的各个元素不可再变更,而list的各个元素可以再变更。

一个序列作为另一个序列的元素

>>>s3 = [1,[3,4,5]]

空序列
>>>s4 = []

 
元素的引用

序列元素的下标从0开始:

>>>print s1[0]
>>>print s2[2]
>>>print s3[1][2]

由于list的元素可变更,你可以对list的某个元素赋值:
>>>s2[1] = 3.0
>>>print s2

如果你对tuple做这样的操作,会得到错误提示。

所以,可以看到,序列的引用通过s[<int>]实现, int为下标

其他引用方式

范围引用: 基本样式[下限:上限:步长]

>>>print s1[:5]             # 从开始到下标4 (下标5的元素 不包括在内)
>>>print s1[2:]             # 从下标2到最后
>>>print s1[0:5:2]          # 从下标0到下标4 (下标5不包括在内),每隔2取一个元素 (下标为0,2,4的元素)
>>>print s1[2:0:-1]         # 从下标2到下标1

从上面可以看到,在范围引用的时候,如果写明上限,那么这个上限本身不包括在内。

尾部元素引用

>>>print s1[-1]             # 序列最后一个元素
>>>print s1[-3]             # 序列倒数第三个元素

同样,如果s1[0:-1], 那么最后一个元素不会被引用 (再一次,不包括上限元素本身)

 字符串是元组

字符串是一种特殊的元素,因此可以执行元组的相关操作。

>>>str = 'abcdef'
>>>print str[2:4]

 
总结

tuple元素不可变,list元素可变

序列的引用 s[2], s[1:8:2]

字符串是一种tuple

Python 相关文章推荐
用Python制作简单的钢琴程序的教程
Apr 01 Python
Python操作列表之List.insert()方法的使用
May 20 Python
Python编程中用close()方法关闭文件的教程
May 24 Python
python3读取MySQL-Front的MYSQL密码
May 03 Python
Python列表list解析操作示例【整数操作、字符操作、矩阵操作】
Jul 25 Python
Python绘制3D图形
May 03 Python
Django中日期处理注意事项与自定义时间格式转换详解
Aug 06 Python
python全栈知识点总结
Jul 01 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
Feb 28 Python
django 读取图片到页面实例
Mar 27 Python
python实现粒子群算法
Oct 15 Python
python 求两个向量的顺时针夹角操作
Mar 04 Python
Python获取电脑硬件信息及状态的实现方法
Aug 29 #Python
python基础教程之基本数据类型和变量声明介绍
Aug 29 #Python
python基础教程之Hello World!
Aug 29 #Python
python中的多线程实例教程
Aug 27 #Python
闭包在python中的应用之translate和maketrans用法详解
Aug 27 #Python
web.py获取上传文件名的正确方法
Aug 26 #Python
Python version 2.7 required, which was not found in the registry
Aug 26 #Python
You might like
php中数据的批量导入(csv文件)
2006/10/09 PHP
escape unescape的php下的实现方法
2007/04/27 PHP
php中文字符截取防乱码
2008/03/28 PHP
php设计模式 State (状态模式)
2011/06/26 PHP
php session劫持和防范的方法
2013/11/12 PHP
分享下页面关键字抓取www.icbase.com站点代码(带asp.net参数的)
2014/01/30 PHP
php+ajax实现文章自动保存的方法
2014/12/30 PHP
Yii框架实现邮箱激活的方法【数字签名】
2016/10/18 PHP
PHP实现百度人脸识别
2019/05/06 PHP
深入理解JavaScript系列(10) JavaScript核心(晋级高手必读篇)
2012/01/15 Javascript
javascript实现限制上传文件大小
2015/02/06 Javascript
JS运动框架之分享侧边栏动画实例
2015/03/03 Javascript
基于JQuery实现仿网易邮箱全屏动感滚动插件fullPage
2015/09/20 Javascript
js数组的五种迭代方法及两种归并方法(推荐)
2016/06/14 Javascript
原生JS封装ajax 传json,str,excel文件上传提交表单(推荐)
2016/06/21 Javascript
Backbone View 之间通信的三种方式
2016/08/09 Javascript
leaflet的开发入门教程
2016/11/17 Javascript
详解利用 Express 托管静态文件的方法
2017/09/18 Javascript
JavaScript实现数值自动增加动画
2017/12/28 Javascript
微信小程序修改swiper默认指示器样式的实例代码
2018/07/18 Javascript
js 动态校验开始结束时间的实现代码
2020/05/25 Javascript
[52:15]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS LGD-GAMING
2014/05/23 DOTA
Python实现在线音乐播放器
2017/03/03 Python
简单的python后台管理程序
2017/04/13 Python
python之文件读取一行一行的方法
2018/07/12 Python
详解django中使用定时任务的方法
2018/09/27 Python
Python利用pandas处理Excel数据的应用详解
2019/06/18 Python
Python 如何实现访问者模式
2020/07/28 Python
matplotlib绘制多子图共享鼠标光标的方法示例
2021/01/08 Python
CSS3 Media Queries详细介绍和使用实例
2014/05/08 HTML / CSS
HTML5 Canvas实现360度全景图的示例代码
2018/01/29 HTML / CSS
印尼最大的婴儿用品购物网站:Orami
2017/09/28 全球购物
英国家用电器折扣网站:Electrical Discount UK
2018/09/17 全球购物
历史学专业大学生找工作的自我评价
2013/10/16 职场文书
财务会计专业自荐书
2014/06/30 职场文书
廉政教育的心得体会
2014/09/01 职场文书