1列表:
列表是一种容器, 属于序列类型, 是序列中的可变数据类型. 用[ ]来表示, 其数据类型关键字为list, 其中的每一个元素用”,”进行分割, 其元素可以是任意类型, 且可以混合类型, 比如整型与字符串共存于同一个列表容器中: lst = [1, “hello”]
2.序列通用操作(字符串, 列表, 元组)
(1).适用所有序列的操作
项目 | 描述 |
s[j] | 返回一个序列的元素 |
s[i: j] | 返回一个切片 |
s[i:j:stride] | 返回一个扩展切片 |
len(s) | s中的元素个数 |
min(s) | s中的最小值 |
max(s) | s中的最大值 |
sum(s) | s中各项的和(元素需全为数字) |
all(s) | 检查s中的所有项是否为True |
any(s) | 检查s中的任意项是否为True |
1 # 创建一个列表 2 lst=[1,2,3] 3 # 队列表进行索引取值 4 a = lst[0] 5 print(a)# 结果为:1 6 # 对列表进行切片, 注意这里索引从0开始, 切片不包括索引为2的元素 7 b = lst[0:2] 8 print(b)# 结果为: [1, 2] 9 # 指定步长对列表切片, 步长2代表每两个元素取一个lst[:]代表切片从头到尾全切10 c = lst[::2]11 print(c)# 结果为:[1, 3] 12 # 输出列表长度13 print(len(lst))# 结果为: 3 14 # 输出列表元素中的最小值15 print(min(lst))# 结果为: 1 16 # 输出列表元素中的最大值17 print(max(lst))# 结果为: 3 18 # 对列表中的所有元素求和, 要求序列元素全部为数字19 print((sum(lst)))# 结果为: 6
(2).针对可变序列类型(列表)的操作
项目 | 描述 |
---|---|
s[i] = v | 序列赋值 |
s[i:j] = t | 切片赋值 |
s[i:j:stride] = t | 扩展切片赋值 |
del s[i] | 序列项删除 |
del s[i:j] | 切片删除 |
del [i:j:stride] | 扩展切片删除 |
1 # 定义两个列表 2 lst1 =[1,2,3,4,5] 3 lst2 =[1,2,3,4,5] 4 # 将lst1的0索引元素赋值为9 5 lst1[0]=9 6 print(lst1)# 结果为: [9, 2, 3, 4, 5] 7 # 将lst1的前两个元素变为1, 2 8 lst1[0:2]=[1,2] 9 print(lst1)# 结果为: [1, 2, 3, 4, 5] 10 # 将lst1中的元素从0索引开始, 每2个取一个, 并将该元素的值变为011 lst1[::2]=[0,0,0]12 print(lst1)# 结果为: [0, 2, 0, 4, 0] 13 # 删除lst1的0索引元素14 del lst1[0]15 print(lst1)# 结果为: [2, 0, 4, 0] 16 # 删除lst的前3个元素17 del lst1[0:3]18 print(lst1)# 结果为: [0] 19 # 对lst2中的元素从0索引开始每2个其一个并进行删除20 del lst2[::2]21 print(lst2)# 结果为: [2, 4]
3.列表的相关方法
方法分类 | 方法 | 描述 |
增操作 | lst.append(x) | 追加元素 |
lst.insert(index, x) | 插入元素 | |
lst.extend([…]) | 迭代添加 | |
删操作 | lst.pop([index]) | 弹出元素 |
lst.remove(x) | 移除元素 | |
改操作 | lst[index] = x | 序列项赋值 |
lst[i:j] = […] | 切片赋值 | |
lst.reverse() | 反序列表 | |
lst.sort([key[, reverse]]) | 排序(默认升序) | |
查操作 | lst.count(x) | 计算x在列表中出现的次数 |
lst.index(x[, start[, stop]]) | 从列表中查找某一元素在指定切片内第一次出现的索引位置 |
1 lst =[1] 2 # 给列表追加一个元素2 3 lst.append(2) 4 print(lst)# 结果为:[1, 2] 5 # 在列表的开头插入一个元素"a" 6 lst.insert(0,0) 7 print(lst)# 结果为:["a", 1, 2] 8 # 向列表中迭代添加一个列表[3, 4, 5] 9 lst.extend([3,4,5])# 结果为:["a", 1, 2, 3, 4, 5] 10 # 弹出列表倒数第二个元素411 lst.pop(-2)12 print(lst)# 结果为:["a", 1, 2, 3, 5] 13 # pop()不指定参数则默认弹出列表最后一个元素14 lst.pop()15 print(lst)# 结果为:["a", 1, 2, 3] 16 # 移除列表元素"a"17 lst.remove("a")18 print(lst)# 结果为: [1, 2, 3] 19 # 将列表的第一个元素修改为420 lst[0]=421 print(lst)# 结果为: [4, 2, 3] 22 # 将列表的后两个元素修改为7,623 lst[1:]=[7,6]24 print(lst)# 结果为: [4, 7, 6] 25 # 将列表反序26 lst.reverse()27 print(lst)# 结果为: [6, 7, 4] 28 # 将列表降序排序(升序只需要去掉reverse参数即可)29 lst.sort(reverse=True)30 print(lst)# 结果为: [7,6,4] 31 # 计算7在lst中出现的次数32 print(lst.count(7))# 结果为: 1 33 # 查看1在lst2中索引1到5的区域第一次出现位置34 lst2 =[1,2,1,3,4,5]35 print(lst2.index(1,2))# 结果为: 2
4.元组
元组是Python的基本数据类型之一,用小括号括起来,里面可以放任何数据类型的数据,元组为用户提供查询,循环及切片,但不可以更改.
说明:
- 针对元组的不可变是指元组的元素不可变,但当元组内部的元素是可变数据类型是,元组元素的子元素是可变的.如:元组中包含列表,该列表不可变,但该列表内部的元素可以变.
- 当元组只有一个元素且该元素为整型,则此时元组的数据类型为元组.
- 元组内只有一个元素时,元素是什么类型,则元组就是什么类型.元组元素为空或其内具有两个及两个元素以上时,则元组的类型为元组.
5.元组相关方法:
-
tuple.count(object):统计元组中指定对象的个数
-
tuple.index(object):索引元组中指定元素的位置
-
index()方法会从左到右索引元组中第一个指定的元素位置
-
index()方法如果索引的对象不存在,则报错”ValueError: tuple.index(x): x not in tuple”
-
-
length = len(tuple):确定元组的长度