Python 序列详解(一)总论

1. 分类

Python 序列(Sequence)是指按特定顺序依次排列的一组数据,它们可以占用一块连续的内存空间,也可以分散到多块内存中。Python 序列包括字符串(string)、列表(list)、元组(tuple)、字典(dict)和集合(set)。

列表和元组用于顺序存储数据,所有元素占用一块连续的内存空间,每个元素都有自己的索引,可以通过索引直接访问特定元素。它们的区别在于:列表是可以修改的,而元组是不可修改的。

字典和集合用于无序存储数据,元素占用不同的内存空间,字典元素以键值对的形式存储。

字符串是一种常见的序列,可以通过索引直接访问其中特定字符。

2. 通用操作

集合和字典不支持索引、切片、相加和相乘操作。

2.1 索引

在序列中,每个元素都有固定的序号(索引),可以通过索引直接访问元素,格式为 s[i]

Python 同时支持正索引和负索引。正索引从 0 开始递增,从左向右计数,0 表示序列第一个元素,n-1 表示序列最后一个元素,取值范围为 [0, n-1]。负索引从-1开始递减,从右向左计数,-1 表示序列最后一个元素,-n 表示序列第一个元素,取值范围为 [-n, -1]

2.2 切片

切片可以访问一定范围内的元素,同时生成一个新的序列(子序列),格式为 s[start : end : step]

其中,start 表示切片的开始索引位置(包括该位置),默认值 0end 表示切片的结束索引位置(不包括该位置),默认值 n
step 表示切片步长,即间隔几个存储位置(包含当前位置)取一次元素,默认值 1,如果省略设置该值,则最后一个冒号可以省略。

2.3 相加

Python 支持两种类型相同的序列使用 + 运算符相加,对两个序列进行连接,但不会去除重复的元素,格式为 a + b

2.4 相乘

Python 支持序列乘以整数 n 生成新序列,其内容为原来序列被重复 n 次的结果,格式为 a * 3。对于非正整数,新序列为空。

列表可以通过乘法操作,实现初始化指定长度的功能。例如,list = [None] * 5

2.5 判断成员

Python 提供 innot in 关键词检查元素是否包含在序列中,格式为 value in sequence。其中,value 表示要检查的元素,sequence 表示指定的序列。

3. 内置函数

函数功能
len()计算序列的长度,即返回序列中包含多少个元素
max()找出序列中的最大元素
min()找出序列中的最小元素
list()将序列转换为列表
str()将序列转换为字符串
sum()计算元素和
sorted()对元素进行排序
reversed()反转元素
enumerate()将序列组合为一个索引序列,多用在 for 循环中

对序列使用 sum() 函数时,做加和操作的必须都是数字(例如,sum(str) + 1),不能是字符或字符串(例如,"sum: " + sum(str)),否则该函数将抛出异常,因为解释器无法判定是要做连接操作,还是做加和操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值