目录
- 一.什么是数据容器
- 二.数据容器:列表
- 1.列表的定义
- 2.列表的下标索引
- 3.列表的常用操作
- 4.总结
- 5.练习
- 三.列表的遍历
- 1.列表的遍历
- 2.while循环和for循环的对比
- 3.练习
一.什么是数据容器
1.什么是数据容器
- 一种可以存储多个元素的Python数据类型
2.Python有哪些数据容器
list(列表)
、tuple(元组)
、str(字符串)
、set(集合)
、dict(字典)
它们各有特点,但都满足可容纳多个元素的特性。
二.数据容器:列表
1.列表的定义
- 基本语法
# 字面量
[元素1,元素2,元素3,元素4,...]
# 定义变量
变量名称 = [元素1,元素2,元素3,元素4,...]
# 定义空列表
变量名称 = []
变量名称 = list[]
- 列表内的每一个数据,称之为
元素
- 以[]作为标识
- 列表内每一个元素之间用,逗号隔开
示例
# 定义列表
my_list = ['程序员',666,True]
print(my_list)
print(type(my_list))
# 嵌套列表定义
my_list = [ [1,2,3],[4,5,6] ]
print(my_list)
print(type(my_list))
##输出
['程序员', 666, True]
<class 'list'>
[[1, 2, 3], [4, 5, 6]]
<class 'list'>
2.列表的下标索引
- 列表的下标索引(正向)
示例
name_list = ['Tom','Lily','Rose']
print(name_list[0]) #结果 Tom
print(name_list[1]) #结果 Lily
print(name_list[2]) #结果 Rose
- 列表的下标索引(反向)
示例
name_list = ['Tom','Lily','Rose']
print(name_list[-3]) #结果 Tom
print(name_list[-2]) #结果 Lily
print(name_list[-1]) #结果 Rose
- 嵌套列表的下标索引
示例
# 2层嵌套list
my_list = [ [1,2,3],[4,5,6] ]
# 获取内层第一个list
print(my_list[0]) #结果 [1,2,3]
# 获取内层第一个list的第一个元素
print(my_list[0][0]) #结果 1
下标索引注意事项
- 要注意下标索引的取值范围,超出范围无法取出元素,并且会报错
3.列表的常用操作
1.列表的查询功能
- 查找某元素的下标
- 功能:查找指定元素在列表中的下标,如果找不到,报错ValueError
- 语法:列表.index(元素)
- index就是列表对象(变量)内置的方法(函数)
my_list = ["itheima","itcast","python"]
print(my_list.index("itcast")) # 结果 1
2.列表的修改功能
- 插入元素
- 语法:列表.insert(下标,元素),在指定的下标位置,插入指定的元素
my_list = [1,2,3]
my_list.insert(1,'itheima')
print(my_list) # 结果 [1, 'itheima', 2, 3]
- 追加元素
- 语法:列表.append(元素),将指定元素追加到列表的尾部
# 追加单个元素
my_list = [1,2,3]
my_list.append('python')
print(my_list) # 结果 [1, 2, 3, 'python']
# 追加一批元素
my_list = [1,2,3]
my_list.append([3,4,5])
print(my_list) # 结果 [1, 2, 3, [3, 4, 5]]
- 追加元素2
- 语法:列表.extend(数据容器),将其他数据容器中的内容取出,依次追加到列表尾部
my_list = [1,2,3]
my_list.extend([4,5,6])
print(my_list) # 输出 [1,2,3,4,5,6]
- 删除元素
- 语法1:del 列表[下标索引]
- 语法2:列表.pop(下标索引)
# 方法1
my_list = [1,2,3]
del my_list[0]
print(my_list) # 结果 [2,3]
# 方法2
my_list = [1,2,3]
my_list.pop(1)
print(my_list) # 结果 [1,3]
- 删除某元素在列表中的第一个匹配项
- 语法:列表.remove(元素)
my_list = [1,2,3,2,3]
my_list.remove(2)
print(my_list) # 结果 [1,3,2,3]
# 删除匹配到的第一个元素
- 清空列表内容
- 语法:列表.clear()
my_list = [1,2,3]
my_list.clear()
print(my_list) # 结果 []
- 统计某元素在列表的数量
- 语法:列表.count(元素)
my_list = [1,2,3,2,3,2]
num = my_list.count(2)
print(num) # 结果 3
# 元素2在列表中出现3次
- 统计列表中有多少元素
- 语法:len(列表)
- 可以得到int数字,表示元素内的数量
my_list = [1,2,3,4,5]
print(len(my_list)) # 结果 5
4.总结
1.列表的常见使用方法
编号 | 使用方式 | 作用 |
---|---|---|
1 | 列表.(append) | 向列表中追加一个元素 |
2 | 列表.extend(数据容器) | 将数据容器中的元素依次取出,追加到列表的尾部 |
3 | 列表.insert(下标,元素) | 在指定下标处,插入指定元素 |
4 | del 列表[下标索引] | 删除列表指定下标索引元素 |
5 | 列表.pop[下标索引] | 删除列表指定下标索引元素 |
6 | 列表.remove(元素) | 从前向后,删除此元素第一个匹配项 |
7 | 列表.clear() | 清空列表 |
8 | 列表.count(元素) | 同级元素在列表中出现的次数 |
9 | 列表.index(元素) | 查找指定元素在列表下的下标,找不到报ValueError |
10 | len(元素) | 统计列表中元素的个数 |
2.列表的特点
- 可以容纳多个元素
- 可以容纳不同类型的元素(混装)
- 数据是有序存储的(有下标序号)
- 允许重复数据存在
- 可以修改(增加或删除元素等)
5.练习
# 1.定义这个列表,并用变量接收它
my_list = [21,25,21,23,22,20]
print(my_list)
[21, 25, 21, 23, 22, 20]
# 2.追加一个31,到列表的尾部
my_list.append(31)
print(my_list)
[21, 25, 21, 23, 22, 20, 31]
# 3.追加一个新列表[29,33,30]到列表的尾部
my_list.extend([29,33,30])
print(my_list)
[21, 25, 21, 23, 22, 20, 31, 29, 33, 30]
# 4.取出第一个元素(应该是21)
print(my_list[0])
21
# 5.取出最后一个元素(应该是30)
print(my_list[-1])
30
# 6.查找31元素,在列表中的下标的位置
print(my_list.index(31))
6
三.列表的遍历
1.列表的遍历
- while遍历
my_list = [1,2,3,4,5]
index = 0
while index < len(my_list):
print(my_list[index])
index += 1
#结果 1 2 3 4 5
- for遍历
my_list = [1,2,3,4,5]
for element in my_list:
print(element)
#结果 1 2 3 4 5
2.while循环和for循环的对比
- 在循环控制上:
- while循环
可以自定义循环条件
,并自行控制 - for循环
不可以自定义循环条件
,只可以一个个从容器中取出
- while循环
- 在无限循环上:
- while循环
可以
通过条件控制做到无限循环 - for循环理论上不可以,因为被遍历的容器不是无限的
- while循环
- 在使用场景上:
- while循环适用于任何想要循环的场景
- for循环适用于,遍历容器的场景或简单的固定次数的循环场景
3.练习
# while循环
my_list = [1,2,3,4,5,6,7,8,9,10]
my_list2 = []
index = 0
while index < len(my_list):
if my_list[index] %2 == 0:
my_list2.append(my_list[index])
index += 1
print(f"通过while循环,从列表{my_list}中取出偶数,组成新列表{my_list2}")
通过while循环,从列表[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]中取出偶数,组成新列表[2, 4, 6, 8, 10]
# for循环
my_list = [1,2,3,4,5,6,7,8,9,10]
my_list2 = []
for element in my_list:
if element %2 == 0:
my_list2.append(element)
print(f"通过for循环,从列表{my_list}中取出偶数,组成新列表{my_list2}")
通过for循环,从列表[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]中取出偶数,组成新列表[2, 4, 6, 8, 10]