从零学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 相关文章推荐
Python类的定义、继承及类对象使用方法简明教程
May 08 Python
Python的Flask框架应用程序实现使用QQ账号登录的方法
Jun 07 Python
Python正则简单实例分析
Mar 21 Python
关于python pyqt5安装失败问题的解决方法
Aug 08 Python
pytorch permute维度转换方法
Dec 14 Python
关于numpy中eye和identity的区别详解
Nov 29 Python
python3 实现调用串口功能
Dec 26 Python
tensorflow实现对张量数据的切片操作方式
Jan 19 Python
Python浮点型(float)运算结果不正确的解决方案
Sep 22 Python
Python使用tkinter实现小时钟效果
Feb 22 Python
一文读懂python Scrapy爬虫框架
Feb 24 Python
Python进程间的通信之语法学习
Apr 11 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
绿山咖啡和蓝山咖啡
2021/03/04 新手入门
使用MaxMind 根据IP地址对访问者定位
2006/10/09 PHP
php上传、管理照片示例
2006/10/09 PHP
解析coreseek for sphinx的使用
2013/06/21 PHP
PHP7.1实现的AES与RSA加密操作示例
2018/06/15 PHP
JavaScript 动态生成方法的例子
2009/07/22 Javascript
jQuery队列控制方法详解queue()/dequeue()/clearQueue()
2010/12/02 Javascript
js 延迟加载 改变JS的位置加快网页加载速度
2012/12/11 Javascript
JQuery中$.ajax()方法参数详解及应用
2013/12/12 Javascript
Eclipse下jQuery文件报错出现错误提示红叉
2014/01/13 Javascript
如何将php数组或者对象传递给javascript
2014/03/20 Javascript
你可能不知道的JavaScript的new Function()方法
2014/04/17 Javascript
js实现多选项切换导航菜单的方法
2015/02/06 Javascript
JS获取网页图片name属性的方法
2015/04/01 Javascript
前端开发之CSS原理详解
2017/03/11 Javascript
浅析JavaScript中的平稳退化(graceful degradation)
2017/07/24 Javascript
javascript浏览器用户代理检测脚本实现方法
2017/10/27 Javascript
在vue中使用Autoprefixed的方法
2018/07/27 Javascript
微信小程序自定义轮播图
2018/11/04 Javascript
浅谈VUE防抖与节流的最佳解决方案(函数式组件)
2019/05/22 Javascript
使用preload预加载页面资源时注意事项
2020/02/03 Javascript
Node.js+Vue脚手架环境搭建的方法步骤
2020/03/08 Javascript
如何通过JS实现日历简单算法
2020/10/14 Javascript
Python中文编码知识点
2019/02/18 Python
浅析python的Lambda表达式
2019/02/27 Python
Python 中使用 PyMySQL模块操作数据库的方法
2019/11/10 Python
Python Handler处理器和自定义Opener原理详解
2020/03/05 Python
matplotlib 生成的图像中无法显示中文字符的解决方法
2020/06/10 Python
世界最大域名注册商:GoDaddy
2016/07/24 全球购物
中国跨境电子商务网站:NewFrog
2018/03/10 全球购物
大专生简历的自我评价
2013/11/26 职场文书
中学生自我评价范文
2014/02/08 职场文书
期终自我鉴定
2014/02/17 职场文书
差生评语大全
2014/05/04 职场文书
2015年护士节慰问信
2015/03/23 职场文书
死亡诗社观后感
2015/06/05 职场文书