快速学习Python基础知识5--容器2--列表

快速学习Python基础知识5--容器2--列表

来源引用网络知识与某站曹老师视频相互结合学习记录,仅供参考!

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) 运行结果 0
3、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'], 取出的元素值为:banana
8、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的个数=2
11、len(列表),统计列表内一共有多少元素
list1 = ['apple', 'banana', 'cherry'] # len(列表),统计列表内一共有多少元素 # length = len(list1) # print(f'统计list1列表中的元素个数:{length}') print(f'统计list1列表中的元素个数:', len(list1)) 运行结果 统计list1列表中的元素个数: 3
Python列表函数&方法

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 cherry

for 循环遍历 列表:

list1 = ['apple', 'banana', 'cherry'] # 每次遍历list1列表时把获取到的每个变量放在 临时变量i 里面 for i in list1: print(i) 运行结果 apple banana cherry

未完待续......