一、何为列表?
1.概念
列表最明显的标识符就是英文方括号 “[ ]”,方括号中以英文逗号间隔元素。列表中的元素不一定是相同数据类型.
列表中的元素可以是列表也可以是字典结构。
l1 = [1, 2, 3, 4]
l2 = ['11', '10', '2022']
l3 = [{'name': '冰淇淋', 'price': '15r'}, {'name': '棒棒糖', 'price': '1r'}]
l4 = [[0, 1, 2, 3], [4, 5, 6, 7],'lala']
2.列表的索引
列表的索引下标从0开始,不同于我们日常的数数,我们喜欢从1开始数数,而列表是从0开始数数,这一点需要牢记.
(1)列表中可以使用函数“列表.index(元素)”可以返回列表中元素的索引值,但是index()方法只返回正向索引值
l2 = ['11', '10', '2022']
print("2022的索引为",l2.index('2022'))
#2022的索引为 2
(2)列表支持正向索引也支持反向索引。
二、列表的基本操作
1.查找
列表的查找方法很简单,直接是“列表名[索引号]”即可访问列表中的元素。
l1 = [1, 2, 3, 4]
print(l1[0]) #输出1
print(l1[2]) #输出3
print(l1[-1]) #输出4
2.修改元素
列表的修改元素方法同样很简单,直接是“列表名[索引号]=新值”即可访问列表中的元素
l1 = [1, 2, 3, 4]
l1[3] = 0
print(l1) #[1, 2, 3, 0]
3.增加元素
列表中增加元素的方法主要依靠函数。
(1)列表名.append(元素):在列表末尾添加一个元素.
l1 = [1, 2, 3, 4,'lal']
print(l1)
# 输出[1, 2, 3, 4, 'lal']
l1.append('haha')
print(l1)
# 输出[1, 2, 3, 4, 'lal', 'haha']
(2)列表名.insert(索引号,元素):在列表中特定索引号处增加一个新的元素.
l1 = [1, 2, 3, 4,'lal']
print(l1)
# 输出[1, 2, 3, 4, 'lal']
l1.insert(1,'xixi')
print(l1)
# 输出[1, 'xixi', 2, 3, 4, 'lal']
4.删除元素
列表中的元素删除主要依靠以下函数和del关键字
(1)列表名.pop(索引号) :在列表中删除指定索引号的元素
l1 = [1, 2, 3, 4,'lal','haha','lal']
print(l1)
# 输出[1, 2, 3, 4, 'lal', 'haha', 'lal']
l1.pop(3)
print(l1)
# 输出[1, 2, 3, 'lal', 'haha', 'lal']
l1.pop(-1)
print(l1)
# 输出[1, 2, 3, 'lal', 'haha']
(2)列表名.remove(元素):在列表中删除第一次出现的元素
l1 = [1, 2, 3, 4,'lal','haha','lal']
print(l1)
# 输出[1, 2, 3, 4, 'lal', 'haha', 'lal']
l1.remove('lal')
print(l1)
# 输出[1, 2, 3, 4, 'haha', 'lal']
(3)del 列表名[索引号]:删除列表中的指定索引号上的元素
l1 = [1, 2, 3, 4,'lal','haha','lal']
print(l1)
# 输出[1, 2, 3, 4, 'lal', 'haha', 'lal']
del l1[0]
print(l1)
# 输出[[2, 3, 4, 'lal', 'haha', 'lal']
del l1[-1]
print(l1)
# 输出[2, 3, 4, 'lal', 'haha']
三、列表的其他方法
1.列表.count(元素):统计列表中某元素出现的次数
l1 = [1, 2, 'haha', 3, 4,'lal', 'haha','lal', 'haha']
print(l1.count('haha'))
# 输出3
2.列表.sort():将列表中的元素排序
字符串列表的排序按照每个元素首字母的顺序来排序。
数值列表的排序是按照数值大小从小到大进行排序。
str_list = ["lin", "jia", "xue"]
str_list.sort()
print(str_list)
# 输出:['jia', 'lin', 'xue']
num_list = [4, 2, 1, 9]
num_list.sort()
print(num_list)
# 输出:[1, 2, 4, 9]
3. 列表名.reverse():将列表顺序反转
str_list = ["lin", "jia", "xue"]
str_list.reverse()
print(str_list)
# 输出:['xue', 'jia', 'lin']
4.列表名.copy():复制一个新的列表
# 如果不是使用copy()函数则不能得到一个新的相同列表
students1 = ["xixi", "dodo", "biabia"]
students2 = students1
#这里将student1的列表增加了一个新的名字student2,但是两者仍然是同一个表
students1[0] = 'koko'
print(students2)
# 输出:['koko', 'dodo', 'biabia']
# 使用copy()函数实现对一个列表的复制
students1 = ["xixi", "dodo", "biabia"]
students2 = students1.copy()
students1[0] = 'koko'
print(students1)
# 输出:['koko', 'dodo', 'biabia']
print(students2)
# 输出:['xixi', 'dodo', 'biabia']
5.列表名.clear():对列表制空
students1 = ["xixi", "dodo", "biabia"] students1= [] print(students1) # 输出[]
上述方式并不能实现对列表制空,上述方法是将空列表赋值给变量名students1,原来的表仍然存在,只是失去了他们的名字。
students1 = ["xixi", "dodo", "biabia"]
students1.clear()
print(students1)
# 输出[]