来源引用网络知识与某站曹老师视频相互结合学习记录,仅供参考!
Python 基础知识
四、容器
容器是一种可以存储多个元素的数据类型;
Python 中的容器有:字符串 str、列表 list、元组 tuple、集合 set、字典 dict;
统计“长度或数量”一般使用 len() 函数,每个容器都有。
2、 列表
列表 list 是多个元素的集合;可以修改;使用 中括号 []
列表的定义
赋值定义
列表变量名称=[ 元素 1,元素 2,元素 3,元素 4,元素 5,......]
多个元素之间使用“,”逗号隔开;
空列表定义
列表变量名称=[]
列表变量名称=list()
# 定义一个有多元素的列表 list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9] print(f'list1={list1},list1的类型是:{type(list1)}') # 定义空列表 list2 = [] print(f'list2={list2},list2的类型是:{type(list2)}') # 面向对象方式--使用list()对象方式定义空列表 list3 = list() print(f'list3={list3},list3的类型是:{type(list3)}') # 可以把一个列表赋值给另外一个列表,这也是一种列表初始化方式 list3 = list1 print(f'list3={list3}') # 列表里面的元素类型没有限制,列表里面可以嵌套列表 list4 = [1, 'apple', 3.1415926, True, [5, 6], (7, 8), {9, 10}] print(f'list4={list4}') # 在 Python 中,可以使用嵌套列表来定义一个三维数组,其中每个元素类型都是字符串 list5 = [['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']] print(f'list5={list5}') 运行结果 list1=[1, 2, 3, 4, 5, 6, 7, 8, 9],list1的类型是:<class 'list'> list2=[],list2的类型是:<class 'list'> list3=[],list3的类型是:<class 'list'> list3=[1, 2, 3, 4, 5, 6, 7, 8, 9] list4=[1, 'apple', 3.1415926, True, [5, 6], (7, 8), {9, 10}] list5=[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]注意点:
- 列表里元素没有限制;
- 列表里面可以嵌套列表;
列表的下标索引
可以通过列表的下标索引获取列表元素;
下标索引从 0 开始,第一个元素下标索引是 0,第二个元素下标索引是 1,......第 N 个元素下标索引是 N-1;
列表 list | 1 | 2 | 3 | 4 | 5 | 6 | ...... | N-1 | N |
正索引 | 0 | 1 | 2 | 3 | 4 | 5 | ...... | N-2 | N-1 |
负索引 | -N | -(N-1) | -(N-2) | -(N-3) | -(N-4) | -(N-5) | ...... | -2 | -1 |
-N+1 | -N+2 | -N+3 | -N+4 | -N+5 | ...... |
或者通过反向索引也可以获取列表元素;索引从-1 开始,倒数第二个元素下标索引是-2,......倒数第 N 个元素的下标索引是 -N;
注意点:列表的下标不要越界,否则就会越界错误;
# 定义一个有多元素的列表 list1 = ['apple', 'banana', 'cherry'] print(f'list1={list1},list1的类型是:{type(list1)}') # 通过正向索引获取列表元素 print(f'第一个列表元素是:', list1[0]) print(f'第二个列表元素是:', list1[1]) print(f'第三个列表元素是:', list1[2]) # 通过反向向索引获取列表元素 print(f'倒数第一个列表元素是:', list1[-1]) print(f'倒数第二个列表元素是:', list1[-2]) print(f'倒数第三个列表元素是:', list1[-3]) 运行结果 list1=['apple', 'banana', 'cherry'],list1的类型是:<class 'list'> 第一个列表元素是: apple 第二个列表元素是: banana 第三个列表元素是: cherry 倒数第一个列表元素是: cherry 倒数第二个列表元素是: banana 倒数第三个列表元素是: apple通过下标索引获取嵌套列表的数据;
# 嵌套列表 list1 = [['1', '2', '3', [11, 22, 33]], ['4', '5', '6'], ['7', '8', '9']] print(list1) print(list1[0]) # 获取第一个嵌套列表中的第二个元素 print(list1[0][1]) # 获取第一个嵌套列表中的第4个元素(也是嵌套列表)里面的第三个元素 print(list1[0][3][2]) 运行结果 [['1', '2', '3', [11, 22, 33]], ['4', '5', '6'], ['7', '8', '9']] ['1', '2', '3', [11, 22, 33]] 2 33列表的常用方法
列表 list 对象提供了很多内置方法来方便操作 list;需要掌握常用的 list 方法;
1、修改指定位置的元素值
语法:列表 [ 下标索引 ]=值
list1 = ['apple', 'banana', 'cherry'] # 修改指定位置的元素值--语法:列表[下标索引]=值 list1[1] = 'Android' list1[-1] = '鸿蒙' print(list1) 运行结果 ['apple', 'Android', '鸿蒙']2、index(元素)方法,查找列表中指定元素的下标,不存在就报错;
list1 = ['apple', 'banana', 'cherry'] # 获取apple元素在list1列表中的下标索引值 index = list1.index('apple') print(index) 运行结果 03、insert(下标,元素),在指定下标位置元素之前,插入元素;
list1 = ['apple', 'banana', 'cherry'] # 使用insert方法在list1列表第二个元素banana之前插入一个元素 list1.insert(1, 'Android') print(list1) 运行结果 ['apple', 'Android', 'banana', 'cherry']4、append(元素),将指定元素追加到列表的尾部;
list1 = ['apple', 'banana', 'cherry'] # 使用append方法将指定元素Android追加到list1列表尾部 list1.append('Android') print(list1) 运行结果 ['apple', 'banana', 'cherry', 'Android']5、extend(容器),追加容器数据到列表最后
list1 = ['apple', 'banana', 'cherry'] # extend(容器),追加容器数据到列表最后 list1.extend(['Android', 'iOS']) print(list1) 运行结果 ['apple', 'banana', 'cherry', 'Android', 'iOS']6、del 列表 [ 下标 ] 删除指定下标的元素
list1 = ['apple', 'banana', 'cherry'] # del 列表 [ 下标 ] 删除指定下标的元素 del list1[0] print(list1) 运行结果 ['banana', 'cherry']7、pop(),取出元素;从列表中删除这个元素,方法返回该元素(若下标越界就会报错);
list1 = ['apple', 'banana', 'cherry'] # 从容器中把这个元素拿出来--它是有返回值的,返回的是变量,自定义名称即可(ele) ele = list1.pop(1) print(f'list1={list1}, 取出的元素值为:{ele}') 运行结果 list1=['apple', 'cherry'], 取出的元素值为:banana8、remove(元素),删除指定元素在列表中的第一个匹配项;
list1 = ['apple', 'banana', 'cherry','apple', 'banana'] # remove(元素),删除指定元素在列表中的第一个匹配项 list1.remove('apple') print(f'list1={list1}') 运行结果 list1=['banana', 'cherry', 'apple', 'banana']9、clear() 清空列表
list1 = ['apple', 'banana', 'cherry'] # clear() 清空列表 list1.clear() print(f'list1={list1}') 运行结果 list1=[]10、count(元素)统计某元素在列表中的个数
list1 = ['apple', 'banana', 'cherry','apple', 'banana'] # count(元素)统计某元素在列表中的个数 count = list1.count('apple') print(f'list1列表中元素apple的个数={count}') 运行结果 list1列表中元素apple的个数=211、len(列表),统计列表内一共有多少元素
list1 = ['apple', 'banana', 'cherry'] # len(列表),统计列表内一共有多少元素 # length = len(list1) # print(f'统计list1列表中的元素个数:{length}') print(f'统计list1列表中的元素个数:', len(list1)) 运行结果 统计list1列表中的元素个数: 3Python列表函数&方法
Python包含以下函数:
函数 | 描述 |
len(list) | 列表元素个数。 |
max(list) | 返回列表元素最大值。 |
min(list) | 返回列表元素最小值。 |
list(seq) | 将元组转换为列表。 |
Python包含以下方法:
方法 | 描述 |
list.append(obj) | 在列表末尾添加新的对象。 |
list.count(obj) | 统计某个元素在列表中出现的次数。 |
list.extend(seq) | 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。 |
list.index(obj) | 从列表中找出某个值第一个匹配项的索引位置。 |
list.insert(index, obj) | 将对象插入列表。 |
list.pop([index=-1]) | 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。 |
list.remove(obj) | 移除列表中某个值的第一个匹配项。 |
list.reverse() | 反向列表中元素。 |
list.sort( key=None, reverse=False) | 对原列表进行排序。 |
list.clear() | 清空列表。 |
list.copy() | 复制列表。 |
列表的遍历
若需要获取列表的所有元素,可以通过 while 循环或者 for 循环遍历来获取;
while 循环遍历 列表:
list1 = ['apple', 'banana', 'cherry'] # 定义变量i=0 i = 0 # while循环 条件i while i < len(list1): # 通过下标取值元素,并赋值给ele ele =list1[i] # 每次循环进行打印 print(ele) # 防止while陷入死循环 i += 1 运行结果 apple banana cherryfor 循环遍历 列表:
list1 = ['apple', 'banana', 'cherry'] # 每次遍历list1列表时把获取到的每个变量放在 临时变量i 里面 for i in list1: print(i) 运行结果 apple banana cherry未完待续......