Python中内置的5个常用的序列结构:列表、元组、集合、字典和字符串
实际上,序列是最基本的数据结构,它是一个连续的内存空间,并且按一定的顺序排列,每一个值(也称元素)都会分配一个数字,称为索引/位置。
对于序列结构有索引、切片、相加、相乘、检查和计算等操作。但需注意:集合和字典不支持索引、切片、相加和相乘操作。
1.索引
索引是指序列中每一个元素的编号
索引从0开始递增,也就是下标为0代表第一个元素;但索引也可以表示负数,表示从右往左进行的计数,从-1开始
通过索引可以访问序列中的任何元素
举例:
n = ['我', '来', '自', '中', '国']
print(n[0])
# 输出为
我
print([n[-1])
# 输出为
国
2.切片
切片操作是访问序列中元素的另一种方法,也可以访问一定范围内的元素。而且通过切片操作可以生成一个新的序列。
name = [start : end : step]
name 为序列的名称
start 为切片的开始位置(包括),如果没有指定,则默认为0
end 为切片的截止位置(不包括),如果不指定,则默认为序列的长度
step 为步长,如果省略,步长默认为1;但当省略该步长时,最后一个冒号也可以省略
举例:
n = ['我', '来', '自', '中', '国']
print(n[1:3])
# 输出为
['来', '自']
print([n[:])
# 输出为
['我', '来', '自', '中', '国']
3.序列相加
在Python中,支持两个相同类型的序列进行相加操作,即将两个序列进行拼接,重复的元素不会去除,使用+运算符就可以实现。注意相同类型的序列是指同为列表、元组、集合等,但序列中的元素类型可以不同。
举例:
n = ['我', '来', '自', '中', '国']
n1 = [1, 2, 3]
print(n+n1)
# 输出为
['我', '来', '自', '中', '国', 1, 2, 3]
4.乘法
在Python中,使用数字n乘以一个序列会生成一个新的序列。新序列的内容为原来序列被重复n次的结果。
举例:
n1 = [1, 2, 3]
print(n1 * 2)
# 输出为
[1, 2, 3, 1, 2, 3]
5.检查某个元素是否为在序列中
in
举例:
n = ['我', '来', '自', '中', '国']
print('我' in n)
# 输出为
True
print('在' in n)
# 输出为
False
6.计算序列的长度、最大值以及最小值
len( )函数用来计算序列的长度
max( )函数返回序列中的最大元素,这种是用在序列为数值的情况中
min( )函数返回序列中的最小元素,这种是用在序列为数值的情况中
sum( )函数用来计算元素的和,这种是用在序列为数值的情况中
sorted( )函数对元素进行排序
reversed( )函数都序列中的元素进行反向排序
举例:
n1 = [1, 2, 3]
print(len(n1))
print(max(n1))
print(min(n1))
print(sum(n1))
print(sorted(n1))
print(reversed(n1))
print(list(reversed(n1)))
# 输出为
3
3
1
6
[1, 2, 3]
<list_reverseiterator object at 0x00000276FF1E9700>
[3, 2, 1]
print(reversed(n1))输出为内存地址,因此需要将其转化为列表,才可以对其进行输出,print(list(reversed(n1)))