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 相关文章推荐
github配置使用指南
Nov 18 Python
Python切换pip安装源的方法详解
Nov 18 Python
使用Django和Python创建Json response的方法
Mar 26 Python
Python实现判断并移除列表指定位置元素的方法
Apr 13 Python
解决Pycharm中import时无法识别自己写的程序方法
May 18 Python
python实现键盘输入的实操方法
Jul 16 Python
简单了解python装饰器原理及使用方法
Dec 18 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
Jan 14 Python
aws 通过boto3 python脚本打pach的实现方法
May 10 Python
OpenCV Python实现图像指定区域裁剪
Mar 12 Python
python基础之匿名函数详解
Apr 21 Python
Python装饰器详细介绍
Mar 25 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
古巴咖啡 Cubita琥爵咖啡 独特的加勒比海风味咖啡
2021/03/06 新手入门
使用session判断用户登录用户权限(超简单)
2013/06/08 PHP
laravel 5 实现模板主题功能
2015/03/02 PHP
PHP IDE phpstorm 常用快捷键
2015/05/18 PHP
摘自织梦CMS的HTTP文件下载类
2015/08/08 PHP
盘点PHP和ASP.NET的10大对比!
2015/12/24 PHP
PHP中for循环与foreach的区别
2017/03/06 PHP
laravel自定义分页效果
2017/07/23 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
2020/10/27 PHP
关于javascript中的typeof和instanceof介绍
2012/12/04 Javascript
js 获取input点选按钮的值的方法
2014/04/14 Javascript
nodejs 实现模拟form表单上传文件
2014/07/14 NodeJs
jQuery控制的不同方向的滑动(向左、向右滑动等)
2014/07/18 Javascript
点击标签切换和自动切换DIV选项卡
2014/08/10 Javascript
推荐一个封装好的getElementsByClassName方法
2014/12/02 Javascript
js 颜色选择插件
2017/01/23 Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
2017/11/29 Javascript
JavaScript在web自动化测试中的作用示例详解
2019/08/25 Javascript
微信小程序 组件的外部样式externalClasses使用详解
2019/09/06 Javascript
Windows下用py2exe将Python程序打包成exe程序的教程
2015/04/08 Python
python简单实现基数排序算法
2015/05/16 Python
在Python的Django框架中获取单个对象数据的简单方法
2015/07/17 Python
Python中字典的基础知识归纳小结
2015/08/19 Python
Python语言实现获取主机名根据端口杀死进程
2016/03/31 Python
深入理解Python分布式爬虫原理
2017/11/23 Python
Python实现的视频播放器功能完整示例
2018/02/01 Python
Python面向对象类的继承实例详解
2018/06/27 Python
Python中logging实例讲解
2019/01/17 Python
Django中的AutoField字段使用
2020/05/18 Python
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
实习单位推荐信范文
2013/11/27 职场文书
公交公司毕业生求职信
2014/02/15 职场文书
综治宣传月活动总结
2014/04/28 职场文书
2019学校运动会开幕词
2019/05/13 职场文书
使用numpy nonzero 找出非0元素
2021/05/14 Python
Python Numpy库的超详细教程
2022/04/06 Python