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 29 Python
使用Python通过win32 COM实现Word文档的写入与保存方法
May 08 Python
Python爬虫设置代理IP(图文)
Dec 23 Python
python+opencv实现霍夫变换检测直线
Oct 23 Python
python3.4爬虫demo
Jan 22 Python
从0开始的Python学习014面向对象编程(推荐)
Apr 02 Python
解决Tensorflow占用GPU显存问题
Feb 03 Python
tensorflow多维张量计算实例
Feb 11 Python
Django微信小程序后台开发教程的实现
Jun 03 Python
完美解决Pycharm中matplotlib画图中文乱码问题
Jan 11 Python
超详细Python解释器新手安装教程
May 10 Python
python中24小时制转换为12小时制的方法
Jun 18 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安全编程之加密功能
2006/10/09 PHP
CI框架开发新浪微博登录接口源码完整版
2014/05/28 PHP
修复ShopNC使用QQ 互联时提示100010 错误
2015/11/08 PHP
PHP解析url并得到url参数方法总结
2018/10/11 PHP
简单的代码实现jquery定时器
2014/01/03 Javascript
js左右弹性滚动对联广告代码分享
2014/02/19 Javascript
JavaScript类继承及实例化的方法
2015/07/25 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
JSON 对象未定义错误的解决方法
2016/09/29 Javascript
详解nodejs微信公众号开发——2.自动回复
2017/04/10 NodeJs
Angular 4 依赖注入学习教程之FactoryProvider的使用(四)
2017/06/04 Javascript
vue的无缝滚动组件vue-seamless-scroll实例
2017/12/18 Javascript
vue2实现搜索结果中的搜索关键字高亮的代码
2018/08/29 Javascript
详解使用WebPack搭建React开发环境
2019/08/06 Javascript
Vue 权限控制的两种方法(路由验证)
2019/08/16 Javascript
mpvue 项目初始化及实现授权登录的实现方法
2020/07/20 Javascript
H5+css3+js搭建带验证码的登录页面
2020/10/11 Javascript
Opencv+Python 色彩通道拆分及合并的示例
2018/12/08 Python
python实现贪吃蛇小游戏
2020/03/21 Python
Python语法分析之字符串格式化
2019/06/13 Python
python简单实现最大似然估计&amp;scipy库的使用详解
2020/04/15 Python
解决python使用list()时总是报错的问题
2020/05/05 Python
Web前端页面跳转并取到值
2017/04/24 HTML / CSS
德国骆驼商店:ActiveFashionWorld
2017/11/18 全球购物
马来西亚演唱会订票网站:StubHub马来西亚
2018/10/18 全球购物
英国最大的割草机购买网站:Just Lawnmowers
2019/11/02 全球购物
Simons官方网站:加拿大时尚零售商
2020/02/20 全球购物
JSF的标签库有哪些
2012/04/27 面试题
银行贷款承诺书
2014/03/29 职场文书
担保书怎么写
2014/04/01 职场文书
政工例会汇报材料
2014/08/26 职场文书
导游词格式
2015/02/13 职场文书
中学感恩教育活动总结
2015/05/05 职场文书
详解MySQL 联合查询优化机制
2021/05/10 MySQL
JavaScript如何优化逻辑判断代码详解
2021/06/08 Javascript
pandas中关于apply+lambda的应用
2022/02/28 Python