一、序列
序列是 python 中最基本的数据结构,序列中的元素都有对应的位置值,该位置值称为索引,其中序列类型包括字符串、列表、元组、集合和字典,区别在于:
1)字符串、列表、元组支持索引、切片、相加、相乘通用的操作。
2)集合和字典不支持索引、切片、相加和相乘操作。
1.1 序列索引
序列索引有两种表示形式:
1)从左向右计数,从 0 开始递增:
str = "www.baidu.com"
# print w
print(str[0])
2)从右向左计数,从 -1 开始递减:
str = "www.baidu.com"
# print m
print(str[-1])
1.2 序列切片
也可以通过切片操作来访问序列元素,而切片操作,生成的是一个新的序列,语法格式如下:
sname[start : end : step]
其中,各个参数的含义分别是:
sname:表示序列的名称。
start:表示切片的开始索引位置(包括该位置),默认为0。
end:表示切片的结束索引位置(不包括该位置),如果不指定,则默认为序列的长度。
step:表示在切片过程中,隔几个存储位置(包含当前位置)取一次元素。
str = "www.baidu.com"
# 从索引0开始到索引3前
# print www
print(str[:3])
# 从索引0开始到序列长度结束,每隔3个位置切一次
# print w.i.m
print(str[::3])
# 保留原字符串
# print www.baidu.com
print(str[:])
1.3 序列相加
序列相加,可以得到一个新的字符串:
str = ".com"
# print www.baidu.com
print("www." + "baidu" + str)
1.4 序列相乘
序列相乘,字符串打印的次数增加:
str = "www.baidu.com"
# print www.baidu.comwww.baidu.comwww.baidu.com
print(str * 3)
1.5 元素是否包含序列中
in 包含,not in 不包含:
str = "www.baidu.com"
# print False
print('W' in str)
# True
print('V' not in str)
除此之外,序列还包含以下相关内置函数:
函数
功能
len()
计算序列的长度,即返回序列中包含多少个元素。
max()
找出序列中的最大元素。
min()
找出序列中的最小元素。
list()
将序列转换为列表。
str()
将序列转换为字符串。
sum()
计算元素和。
sorted()
对元素进行排序。
reversed()
反向序列中的元素。
enumerate()
将序列组合为一个索引序列,多用在 for 循环中。
二、列表
列表是 python 中标准数据类型之一,可以把它看成存储数据的容器,并且可以存储不同类型的数据,列表是可更改的数据类型,意味着修改列表,在内存空间中的地址不会变。
2.1 创建
列表的创建形式有两种:
1)直接声明:
lis = [1, 2, 3, 4, 5]
print(type(lis))
2)将序列转换为列表:
lis = (1, 2, 3, 4, 5)
print(type(list(lis)))
2.2 增
1)由于列表也是序列的一种,因此可以通过 + 在列表的末尾插入:
lis1 = [1, 2, 3]
lis2 = [4, 5, 6]
lis = lis1 + lis2
# print [1, 2, 3, 4, 5, 6]
print(lis)
2)append() 用于在列表的末尾追加元素,这个元素可以是单个元素,也可以是列表、元组等:
lis1 = [1, 2, 3]
lis1.append(4)
# print [1, 2, 3, 4]
t = (1, 2, 3)
lis1.append(t)
# print [1, 2, 3, 4, (1, 2, 3)]
print(lis1)
3)extend() 用于在列表的末尾追加元素,它与 append() 不同之处就是不会把列表或者元祖视为一个整体,而是把它们包含的元