从零学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 list转dict示例分享
Jan 28 Python
Python正则表达式常用函数总结
Jun 24 Python
PyCharm-错误-找不到指定文件python.exe的解决方法
Jul 01 Python
QML使用Python的函数过程解析
Sep 26 Python
基于python的BP神经网络及异或实现过程解析
Sep 30 Python
python Manager 之dict KeyError问题的解决
Dec 21 Python
如何使用python传入不确定个数参数
Feb 18 Python
python目标检测给图画框,bbox画到图上并保存案例
Mar 10 Python
使用Python实现批量ping操作方法
May 06 Python
Python利用matplotlib绘制散点图的新手教程
Nov 05 Python
python中@property的作用和getter setter的解释
Dec 22 Python
Python中如何处理常见报错
Jan 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
深入php-fpm的两种进程管理模式详解
2013/06/03 PHP
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
Laravel 使用查询构造器配合原生sql语句查询的例子
2019/10/12 PHP
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
js图片自动切换效果处理代码
2013/05/07 Javascript
Jquery的hover方法让鼠标经过li时背景变色
2013/09/06 Javascript
javascript实现信息的显示和隐藏如注册页面
2013/12/03 Javascript
javascript弹出页面回传值的方法
2015/01/28 Javascript
JQuery实现防止退格键返回的方法
2015/02/12 Javascript
javascript中使用new与不使用实例化对象的区别
2015/06/22 Javascript
使用Object.defineProperty实现简单的js双向绑定
2016/04/15 Javascript
判断数组是否包含某个元素的js函数实现方法
2016/05/19 Javascript
jQuery文字提示与图片提示效果实现方法
2016/07/04 Javascript
jquery动态创建div与input的实例代码
2016/10/12 Javascript
微信小程序 聊天室简单实现
2017/04/19 Javascript
如何重置vue打印变量的显示方式
2017/12/06 Javascript
JavaScript实现的鼠标跟随特效示例【2则实例】
2018/12/22 Javascript
详解设计模式中的工厂方法模式在Python程序中的运用
2016/03/02 Python
详解Python操作RabbitMQ服务器消息队列的远程结果返回
2016/06/30 Python
Python基于socket实现简单的即时通讯功能示例
2018/01/16 Python
DRF跨域后端解决之django-cors-headers的使用
2019/01/27 Python
windows安装TensorFlow和Keras遇到的问题及其解决方法
2019/07/10 Python
Tensorflow实现在训练好的模型上进行测试
2020/01/20 Python
python根据用户需求输入想爬取的内容及页数爬取图片方法详解
2020/08/03 Python
基于python实现百度语音识别和图灵对话
2020/11/02 Python
iframe在移动端的缩放的示例代码
2018/10/12 HTML / CSS
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
申论倡议书范文
2014/05/13 职场文书
幽默自我介绍演讲稿
2014/08/21 职场文书
2015年度团总支工作总结
2015/04/23 职场文书
幼儿园重阳节活动总结
2015/05/05 职场文书
检讨书范文大全
2015/05/07 职场文书
2016教师廉洁从教心得体会
2016/01/13 职场文书
C3 线性化算法与 MRO之Python中的多继承
2021/10/05 Python
MySQL实现用逗号进行拼接、以逗号进行分割
2022/12/24 MySQL