python常用序列结构

Python022

python常用序列结构,第1张

序列是python的基本数据结构,序列中的每个元素被分配一个序号即索引,索引从0开始。

序列的两种常用类型:列表和元组。

列表与元组的区别:列表可修改,元组不能修改。

通用序列操作

1、索引:索引0指向第一个元素,索引-1指向最后一个元素。

2、程序:输入年,月(1-12),日(1-31),然后打印出相应的日期的月份名称。

代码详解:months=[]:定义一个months序列。

endings=['st','nd','rd']+17*['th']\

+['st','nd','rd']+7*['th']\

+['st']:定义一个endings序列,用来表示1-31的英文缩写,1st,2nd,3rd,4-20th,21st,22nd,23rd,24-30th,31st。

代码运行输出结果:

3、分片:提取序列中的某个范围内的元素。

分片tag[9:30]:第一个索引号9是包含在分片内的,第二个索引号30则不包含在分片内。

4、如果要去序列中最后一个最后一个元素怎么办?

可以通过置空,最后一个一个索引来获取最后的元素。可以通过置空最前的索引来获取第一个元素。可以两边都置空来获取整个元素。

5、步长:

正数步长:从序列的头部开始向右提取元素,直到最后一个元素。

负数步长:从序列的尾部开始向左提取元素,直到第一个元素。

6、序列运算

序列相加:对序列进行连接操作,列表与字符串是无法连接在一起的。

序列相乘:数字x乘以一个序列会生成新的序列,即原来的序列被重复x次。

None,空列表和初始化:初始化一个长度为10的列表。

代码分析:在屏幕上打印一个由字符组成的盒子,这个盒子在屏幕上居中,而且根据用户输入的句子自动调整大小。

成员资格:in运算符,输入布尔运算符,当条件为真时返回true,为假则返回false。

以上代码在UNIX系统中,可以检查文件可写和可执行权限的脚本。

以上代码可以检查输入的用户名是否存在于用户列表中。

以上代码可以作为过滤垃圾邮件的一部分。

代码分析:查看用户输入的用户名,密码是否存在于数据库中,如果存在则打印'Access granted'

程序运行结果:

内建函数:len:返回序列中包含元素的数量,min:返回序列中最小的元素,max:返回序列中最大的元素。

Python 中的序列是一块可存放多个值的连续内存空间,所有值按一定顺序排列,每个值所在位置都有一个编号,称其为索引,我们可以通过索引访问其对应值。

其实字符串就是序列结构,除此之外常见的序列结构还包括列表、元组等。

序列索引支持非负数和负数, 索引为非负数,从 0 开始 ,如下所示:

以字符串为例,如下所示:

输出结果:

从结果来看,我们使用非负数索引与负数索引得到的结果一致。

切片操作可以访问一定范围内的元素,语法如下所示:

以字符串为例,如下所示:

输出结果:

Python 支持类型相同的序列使用 + 作相加操作,该操作不会去除重复的元素。以字符串为例,如下所示:

输出结果:

Python 中,使用数字 n 乘以一个序列会生成新的序列,内容为原来序列被重复 n 次的结果。以字符串为例,如下所示:

输出结果:

Python 使用 in 关键字检查某元素是否为序列的成员,语法如下:

val in seq

以字符串为例,如下所示:

输出结果:

True

2.6 内置函数

len()—— 计算序列的长度

max()——找出序列中的最大元素

min()——找出序列中的最小元素

list() ——将序列转换为列表

str() ——将序列转换为字符串

sum()——计算元素的和

sorted()——对元素进行排序

enumerate()——将序列组合为一个索引序列,多用在 for 循环中

举例,如下所示:

输出结果: