从零学Python之入门(三)序列


Posted in Python onMay 25, 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 相关文章推荐
pycharm 使用心得(三)Hello world!
Jun 05 Python
Python内置函数的用法实例教程
Sep 08 Python
把MySQL表结构映射为Python中的对象的教程
Apr 07 Python
Python Json序列化与反序列化的示例
Jan 31 Python
python基础教程项目五之虚拟茶话会
Apr 02 Python
Python返回数组/List长度的实例
Jun 23 Python
Python字符串匹配之6种方法的使用详解
Apr 08 Python
Python/Django后端使用PIL Image生成头像缩略图
Apr 30 Python
PyTorch使用cpu加载模型运算方式
Jan 13 Python
pytorch实现mnist数据集的图像可视化及保存
Jan 14 Python
用python解压分析jar包实例
Jan 16 Python
如何教少儿学习Python编程
Jul 10 Python
从零学Python之入门(二)基本数据类型
May 25 #Python
Python tempfile模块学习笔记(临时文件)
May 25 #Python
Python logging模块学习笔记
May 24 #Python
Python学习笔记之常用函数及说明
May 23 #Python
从零学python系列之教你如何根据图片生成字符画
May 23 #Python
从零学python系列之从文件读取和保存数据
May 23 #Python
从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
May 23 #Python
You might like
php+mysql分页代码详解
2008/03/27 PHP
wamp下修改mysql访问密码的解决方法
2013/05/07 PHP
php通过排列组合实现1到9数字相加都等于20的方法
2015/08/03 PHP
php时间函数用法分析
2016/05/28 PHP
模拟用户操作Input元素,不会触发相应事件
2007/05/11 Javascript
常用简易JavaScript函数
2009/04/09 Javascript
js setattribute批量设置css样式
2009/11/26 Javascript
javascript 事件绑定问题
2011/01/01 Javascript
Array, Array Constructor, for in loop, typeof, instanceOf
2011/09/13 Javascript
用JQuery 判断某个属性是否存在hasAttr的解决方法
2013/04/26 Javascript
js解决select下拉选不中问题
2014/10/14 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
2017/01/20 Javascript
JS简单实现获取元素的封装操作示例
2017/04/07 Javascript
JS路由跳转的简单实现代码
2017/09/21 Javascript
js Element Traversal规范中的元素遍历方法
2018/04/19 Javascript
vue 实现数字滚动增加效果的实例代码
2018/07/06 Javascript
Angular动画实现的2种方式以及添加购物车动画实例代码
2018/08/09 Javascript
node.js Promise对象的使用方法实例分析
2019/12/26 Javascript
Python生成随机数的方法
2014/01/14 Python
Python中.py文件打包成exe可执行文件详解
2017/03/22 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
2018/11/16 Python
python学生管理系统
2019/01/30 Python
Python基础之变量基本用法与进阶详解
2020/01/03 Python
Keras在训练期间可视化训练误差和测试误差实例
2020/06/16 Python
python time.strptime格式化实例详解
2021/02/03 Python
Python使用pyenv实现多环境管理
2021/02/05 Python
css3 transform属性详解
2014/09/30 HTML / CSS
配置H5的滚动条样式的示例代码
2018/03/09 HTML / CSS
无谷物狗粮:Pooch & Mutt
2018/05/23 全球购物
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
网上常见的一份Linux面试题(多项选择部分)
2015/02/07 面试题
机关门卫制度
2014/02/01 职场文书
总经理司机职责
2014/02/02 职场文书
航空学院求职信
2014/06/11 职场文书
毕业生自我鉴定范文
2019/05/13 职场文书
MySql 缓存查询原理与缓存监控和索引监控介绍
2021/07/02 MySQL