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)))