从零学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性能优化技巧
Mar 09 Python
python实现批量下载新浪博客的方法
Jun 15 Python
Python实现的计数排序算法示例
Nov 29 Python
selenium python浏览器多窗口处理代码示例
Jan 15 Python
Python中defaultdict与lambda表达式用法实例小结
Apr 09 Python
python使用Flask操作mysql实现登录功能
May 14 Python
详解从Django Rest Framework响应中删除空字段
Jan 11 Python
Python中的字符串切片(截取字符串)的详解
May 15 Python
django框架自定义模板标签(template tag)操作示例
Jun 24 Python
TensorFlow Autodiff自动微分详解
Jul 06 Python
解决运行django程序出错问题 'str'object has no attribute'_meta'
Jul 15 Python
python实现企业微信定时发送文本消息的示例代码
Nov 24 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 SESSION的增加、删除、修改、查看操作
2015/03/20 PHP
php blowfish加密解密算法
2016/07/02 PHP
BOOM vs RR BO5 第一场 2.14
2021/03/10 DOTA
TinyMCE 新增本地图片上传功能
2010/11/05 Javascript
jquery isType() 类型判断代码
2011/02/14 Javascript
基于jquery封装的一个js分页
2011/11/15 Javascript
JavaScript使用yield模拟多线程的方法
2015/03/19 Javascript
JavaScript实现页面5秒后自动跳转的方法
2015/04/16 Javascript
JavaScript中数据结构与算法(二):队列
2015/06/19 Javascript
jQuery通过ajax请求php遍历json数组到table中的代码(推荐)
2016/06/12 Javascript
javascript深拷贝(deepClone)详解
2016/08/24 Javascript
JavaScript中Array的实用操作技巧分享
2016/09/11 Javascript
javascript加载xml 并解析各节点的值(实现方法)
2016/10/12 Javascript
easyUI实现类似搜索框关键词自动提示功能示例代码
2016/12/27 Javascript
js return返回多个值,通过对象的属性访问方法
2017/02/21 Javascript
bmob js-sdk 在vue中的使用教程
2018/01/21 Javascript
微信小程序之多文件下载的简单封装示例
2018/01/29 Javascript
微信小程序外卖选购页实现切换分类与数量加减功能案例
2019/01/15 Javascript
vue中引入mxGraph的步骤详解
2019/05/17 Javascript
vue实现后台管理权限系统及顶栏三级菜单显示功能
2019/06/19 Javascript
前后端常见的几种鉴权方式(小结)
2019/08/04 Javascript
vue使用原生swiper代码实例
2020/02/05 Javascript
利用Python如何生成hash值示例详解
2017/12/20 Python
Python实现读取Properties配置文件的方法
2018/03/29 Python
django 开发忘记密码通过邮箱找回功能示例
2018/04/17 Python
Python 中@property的用法详解
2020/01/15 Python
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
数字漫画:comiXology
2020/06/13 全球购物
安全事故检讨书
2014/01/18 职场文书
机动车交通事故协议书
2015/01/29 职场文书
个人年底工作总结
2015/03/10 职场文书
诚信教育主题班会
2015/08/13 职场文书
2019最新版股权转让及委托持股协议书范本
2019/08/07 职场文书
Python爬虫爬取全球疫情数据并存储到mysql数据库的步骤
2021/03/29 Python
pytorch中Schedule与warmup_steps的用法说明
2021/05/24 Python
go goroutine 怎样进行错误处理
2021/07/16 Golang