1.4 基础数据类型 -- 列表与元组
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个取一个, 并将该元素的值变为0
11 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 # 弹出列表倒数第二个元素4
11 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 # 将列表的第一个元素修改为4
20 lst[0]=4
21 print(lst)# 结果为: [4, 2, 3]
22 # 将列表的后两个元素修改为7,6
23 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):确定元组的长度
浙公网安备 33010602011771号