从零学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 相关文章推荐
Python3如何解决字符编码问题详解
Apr 23 Python
python中如何使用正则表达式的集合字符示例
Oct 09 Python
python基于twisted框架编写简单聊天室
Jan 02 Python
python实时监控cpu小工具
Jun 21 Python
django rest framework 数据的查找、过滤、排序的示例
Jun 25 Python
Anaconda2 5.2.0安装使用图文教程
Sep 19 Python
python二进制文件的转译详解
Jul 03 Python
python实现一行输入多个值和一行输出多个值的例子
Jul 16 Python
python实现连连看游戏
Feb 14 Python
python如何爬取网页中的文字
Jul 28 Python
python数据库批量插入数据的实现(executemany的使用)
Apr 30 Python
python实现会员管理系统
Mar 18 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
DC这些乐高系列动画电影你看过几部?
2020/04/09 欧美动漫
不错的一篇面向对象的PHP开发模式(简写版)
2007/03/15 PHP
php读取javascript设置的cookies的代码
2010/04/12 PHP
php生成图片验证码的实例讲解
2015/08/03 PHP
jQuery+php简单实现全选删除的方法
2016/11/28 PHP
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
js实现同一页面多个运动效果的方法
2015/04/10 Javascript
Bootstrap实现登录校验表单(带验证码)
2016/06/23 Javascript
如何使用headjs来管理和异步加载js
2016/11/29 Javascript
javascript中的try catch异常捕获机制用法分析
2016/12/14 Javascript
AngularJS $http模块POST请求实现
2017/04/08 Javascript
ES6下React组件的写法示例代码
2017/05/04 Javascript
使用node.js对音视频文件加密的实例代码
2017/08/30 Javascript
JS实现的冒泡排序,快速排序,插入排序算法示例
2019/03/02 Javascript
js核心基础之构造函数constructor用法实例分析
2019/05/11 Javascript
vue回到顶部监听滚动事件详解
2019/08/02 Javascript
详解json串反转义(消除反斜杠)
2019/08/12 Javascript
JS实现滚动条触底加载更多
2019/09/19 Javascript
Python实现的数据结构与算法之队列详解
2015/04/22 Python
python开发之for循环操作实例详解
2015/11/12 Python
Python实现带参数与不带参数的多重继承示例
2018/01/30 Python
wx.CheckBox创建复选框控件并响应鼠标点击事件
2018/04/25 Python
详解python中的Turtle函数库
2018/11/19 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
2019/06/21 Python
css3中仿放大镜效果的几种方式原理解析
2020/12/03 HTML / CSS
我的五年职业生涯规划
2014/01/23 职场文书
旅游安全协议书
2014/04/21 职场文书
求职简历自荐信
2014/06/18 职场文书
学校领导班子对照检查材料
2014/08/28 职场文书
2014小学语文教学工作总结
2014/12/17 职场文书
工程部部长岗位职责
2015/02/12 职场文书
小学体育组工作总结
2015/08/13 职场文书
建筑工程挂靠协议书
2016/03/23 职场文书
大学毕业生自我鉴定范文
2019/06/21 职场文书
Python中的协程(Coroutine)操作模块(greenlet、gevent)
2022/05/30 Python
Vite + React从零开始搭建一个开源组件库
2022/06/25 Javascript