今天开始我们学习数据容器中的列表,这块内容很多很重要,需要认真记忆。
1.数据容器
1.1 含义:Python中的数据容器是一种可以容纳多份数据的数据类型。
容纳的每一份数据称之为1个元素,每一个元素,可以是任意类型的数据,如字符串、数字、布尔等。
1.2 常见的数据容器: 列表(list) 元组(tuple) 字符串(str) 集合(set) 字典(dict)
1.3 各个容器符号
列表: 中括号 [] 举例: [元素1,元素2,元素3,...]
元组: 小括号 () 举例: (元素1,元素2,元素3,...)
字符串: 引号 '内容'/"内容"/'''内容'''/"""内容""" 注意: 在字符串中每个字符都是一个元素
集合: 大括号 {} 举例: {元素1,元素2,元素3,...}
字典: 大括号 {} 举例: {key:value , key:value ,...} 注意: 每个键值对是一个元素
因为在python中集合使用的几率比列表、元组和字符串小,所以字典的符号会和集合的符号一样,都是大括号。
2. 方法
在这里我们引入一个概念:方法
方法: 本质是一个函数,只是这个函数放到class xxx 类中,此前我们学习的random中的randint本质是一个函数,一般称之为方法,自己写的get_sum就是一个函数。
注意: 可以说方法一定是一个函数,但是不能说函数一定是一个方法。
3. 列表的定义
空列表: 列表名=[] 或者 列表名=list()
非空列表: 列表名=[元素1,元素2,元素3,…]
列表支持嵌套
示例
结果
4. 列表的下标索引
下标索引: 就是咱们说的编号,也就是容器中每个元素的编号
正索引: 从0开始,从左到右,依次递增
负索引: 从-1开始,从右到左,依次递减
根据下标索引查找对应元素格式: 列表名[索引]
示例
结果
5. 列表的增删改查(重点)
因为方法名都是见名知意的,所以建议记重点单词
添加元素相关单词:
append:附加
extend:扩展
insert:插入
查询元素相关单词:
count: 计数
index: 索引
length: 长度
删除元素相关单词
delete:删除
pop : 弹出
remove:移除
clear: 清空
5.1 增:添加元素
列表名.append(元素): 把指定元素追加到列表中
列表名.extend(容器): 把指定容器中每个元素取出,依次放到当前列表中
列表名.insert(索引,元素): 把指定元素插入到列表指定索引位置
5.2 删:删除元素
del 列表名[索引]: 把指定索引位置的元素删除
列表名.pop(索引): 把指定索引位置的元素删除
列表名.remove(元素): 把指定元素直接删除
列表名.clear() : 清空当前列表
del 列表名: 删除当前列表
5.3 改:修改元素
列表名[索引] = 新元素
5.4 查:查找元素
列表名[索引]: 查找指定索引位置上的元素
列表名.count(元素): 查找指定元素在列表中出现的次数
列表名.index(元素): 查找指定元素在列表中的索引位置 注意: 如果不存在就报错
len(列表名): 查询当前列表中所有元素的总个数
6. 列表的遍历
6.1 for循环遍历
for 元素名 in 列表:
操作元素
6.2 while循环遍历
核心思想: 利用while变量作为列表的索引使用
index = 0
while index < len(列表):
元素名 = 列表[index]
操作元素
index+=1
6.3 对比
while循环和for循环,都是循环语句,但细节不同:
在循环控制上:
while循环可以自定循环条件,并自行控制
for循环不可以自定循环条件,只可以一个个从容器内取出数据
在无限循环上:
while循环可以通过条件控制做到无限循环
for循环理论上不可以,因为被遍历的容器容量不是无限的
在使用场景上:
while循环适用于任何想要循环的场景
for循环适用于,遍历数据容器的场景或简单的固定次数循环场景