博客
关于我
Python 列表与元组
阅读量:261 次
发布时间:2019-03-01

本文共 1946 字,大约阅读时间需要 6 分钟。

序列概述

序列是一块用于存放多个值的连续内存空间,并且按一定顺序排序。每个值(称为元素)都分配一个数字(称为索引或位置),通过该索引可以取出相应的值。在 Python 中,序列结构主要有列表、元组、集合、字典和字符串。对于这些序列结构有以下几个通用的操作,其中,集合和字典不支持索引、切片、相加和相乘操作。

索引

序列中的每一个元素都有一个编号,也成为了索引(Indexing)。这个索引是从 0 开始递增的,即下标为 0 表示第一个元素,下标为 1 表示第二个元素,以此类推。Python 相对于 Java、C++ 不同的是,它的索引可以是负数。当索引是负数时,它是从右向左计数,也就是从最后一个元素开始计数,即最后一个元素的索引值是 -1,倒数第二个元素的索引值是 -2,以此类推。采用负数索引,是从 -1 开始的,这是为了防止与第一个元素重合。

切片

切片(Slicing)操作是访问序列中元素的另一种方法,它可以访问一定范围内的元素。切片操作的语法格式如下:sname[start : end : step]。sname 表示序列的名称;start 表示切片的开始位置(包括该位置),如果不指定,则默认为 0;end 表示切片的截止位置(不包括该位置),如果不指定,则默认为序列的长度;step 表示切片的步长,如果省略,默认为 1。当省略该步长时,最后一个冒号也可以省略。在进行切片操作时,如果指定了步长,那么将按照步长遍历序列的元素,否则将一个一个遍历序列。

序列相加

在 Python 中,使用(+)运算符可以实现两个相同种类的序列相加(Adding)操作,即将两个序列进行连接,但不去除重复的元素。

乘法

在 Python 中,使用数字 n 乘以一个序列会生成一个新的序列。新序列的内容为原来序列被重读 n 次的结果。

检查某个元素是否是序列的成员

在 Python 中,可以使用 in 关键字检查某个元素是否是序列的成员,同样还可以使用 not in 关键字检测某个元素是否不包含在指定的序列中。

计算序列的长度、最大值和最小值

在 Python 中,提供了内置函数 len() 计算序列的长度,使用 max() 函数返回序列中的最大元素,使用 min() 函数返回序列中的最小元素。

列表

Python 中的列表类似于歌曲列表,是由一系列按特定顺序排列的元素组成的可变序列。在形式上,列表的所有元素都放在一对括号 “[]” 中,两个相邻的元素之间使用逗号 “,” 分割。列表是 Python 中最灵活的序列类型,可以包含不同类型的元素。

列表的创建和删除

列表同其他类型的 Python 变量一样,创建列表时,也可以使用赋值运算符 “=” 直接将一个列表赋值给一个变量。可以创建空的列表:list = []。数值列表也是非常常用的,可以通过 list() 函数将 range 对象、字符串、元组等转换为列表。对于已经创建的列表,当我们不再使用时,可以使用 del 语句将其删除。垃圾回收机制会自动销毁不用的列表。

访问列表元素

可以通过下标索引的方式访问列表的元素。使用 print() 函数输出列表的内容。

遍历列表

遍历列表中的所有元素是常用的一种操作。在 Python 中遍历列表有以下两种方式:直接使用 for 循环,或者使用 enumerate() 函数实现。

添加列表元素

可以使用 append() 方法向列表添加元素,extend() 方法可以将一个列表添加到另一个列表中。insert() 方法用于向列表指定位置插入元素,remove() 方法用于删除列表中的指定元素。

修改、删除列表元素

修改列表中的元素只需要通过索引获取该元素,然后再重新赋值即可。删除元素可以使用 del 语句实现,或者使用 remove() 方法删除不确定位置的元素。

列表推导式

生成制动范围的数值列表可以使用列表推导式:[Expression for var in range]。根据列表生成指定需求的列表可以使用类似的方式。

元组

元组(tuple)是 Python 中另一个重要的序列结构,也是不可变序列。元组是通过一对小括号将所有元素括起来,虽然小括号并不是必须的,但需要在元组的最后添加一个逗号以表示元组的结束。元组的访问方式和列表类似,但元组是不可变的,不能对其元素进行修改或删除操作。

元组与列表的区别

列表属于可变序列,元组属于不可变序列。列表支持 append()extend()insert()remove()pop() 等方法,而元组则没有这些方法。元组的访问和处理速度比列表更快,适合只需要读取操作的场景。元组可以作为字典的键,而列表不能。

转载地址:http://gprx.baihongyu.com/

你可能感兴趣的文章
Openlayers高级交互(1/20): 控制功能综合展示(版权、坐标显示、放缩、比例尺、测量等)
查看>>
Openlayers高级交互(10/20):绘制矩形,截取对应部分的地图并保存
查看>>
Openlayers高级交互(11/20):显示带箭头的线段轨迹,箭头居中
查看>>
Openlayers高级交互(12/20):利用高德逆地理编码,点击位置,显示坐标和地址
查看>>
Openlayers高级交互(13/20):选择左右两部分的地图内容,横向卷帘
查看>>
Openlayers高级交互(14/20):汽车移动轨迹动画(开始、暂停、结束)
查看>>
Openlayers高级交互(15/20):显示海量多边形,10ms加载完成
查看>>
Openlayers高级交互(16/20):两个多边形的交集、差集、并集处理
查看>>
Openlayers高级交互(17/20):通过坐标显示多边形,计算出最大幅宽
查看>>
Openlayers高级交互(18/20):根据feature,将图形适配到最可视化窗口
查看>>
Openlayers高级交互(19/20): 地图上点击某处,列表中显示对应位置
查看>>
Openlayers高级交互(2/20):清除所有图层的有效方法
查看>>
Openlayers高级交互(20/20):超级数据聚合,页面不再混乱
查看>>
Openlayers高级交互(3/20):动态添加 layer 到 layerGroup,并动态删除
查看>>
Openlayers高级交互(4/20):手绘多边形,导出KML文件,可以自定义name和style
查看>>
Openlayers高级交互(5/20):右键点击,获取该点下多个图层的feature信息
查看>>
Openlayers高级交互(6/20):绘制某点,判断它是否在一个电子围栏内
查看>>
Openlayers高级交互(7/20):点击某点弹出窗口,自动播放视频
查看>>
Openlayers高级交互(8/20):选取feature,平移feature
查看>>
Openlayers高级交互(9/20):编辑图形(放缩、平移、变形、旋转),停止编辑
查看>>