1. 列表的创建
创建列表
变量名 = [元素1,元素2,元素3,...]
列如我们创建一个列表 li1
li1 = ['a', 'b', 'c']
列表类型中区分元素的顺序,并且列表允许包含重复元素,列表中的元素数据类型可以不一致。
打个比方 : 列表相当于一个菜篮子,菜篮子里面可以有相同的菜,也可以有不同的菜,菜篮子不仅能放菜,还可以放水果,手机,甚至是另一个菜篮子。
2. 列表的基本操作
2.1 索引
列表中的每一个元素都有一个索引值,索引就是列表元素的在列表中的位置,通常我们将列表的第一个元素的索引值为0,最后一个元素的索引值则为列表的元素个数-1,我们将这样的索引成为正向索引。当然,有正向索引那肯定会有反向索引,反向索引我们将列表的最后一个元素的索引值为-1,第一个元素的索引值为 - 列表元素个数(注意前面有个负号)
1 | 2 | 3 | 4 | 5 | 6 | |
---|---|---|---|---|---|---|
正向索引 | 0 | 1 | 2 | 3 | 4 | 5 |
反向索引 | -6 | -5 | -4 | -3 | -2 | -1 |
2.2 切片
切片的作用:当我们只需要列表当中的一段元素时,我们可以采用列表的切片来获取,切片返回的是一个列表。
list[start : end] # start表示从当前元素开始,end表示在当前元素结束,但不包含当前元素
从 li1 列表中获取索引值为1到索引值为2的元素
li1 = [1, 2, 3, 4, 5]
print(li1[1:3]) # [2,3]
我们可以观察到索引值为1的值为2,索引值为2的值为3,因此end应该是3,因为end表示在当前元素结束,但不包含当前元素,若我们将end的值为2,则只会打印[2]
从 li1 列表中获取索引值为2到索引值为5的元素
print(li1[2:6])
我们可以观察到索引值为5的元素是最后一个元素,因此我们还可以这样写
print(li1[2:])
list[start : end] : 当end为空时,切片操作会默认返回将列表从start开始切片一直到最后一个元素结束
list[start : end] : 当start为空时,切片操作会默认返回将列表从第一个元素到索引值为end的元素(不包括end)
list[start : end] : 当start,end均为空时,此时切片操作会返回整个列表元素
2.3 列表的“加法”以及“乘法”
列表的加法:列表的加法与字符串的加法类似,都是用作拼接,两个列表之间用加号连接会得到一个新的列表
lit1 = [1, 2, 3]
lit2 = [4, 5, 6]
lit3 = lit1 + lit2 # lit3 = [1,2,3,4,5,6]
列表的乘法:同样列表的乘法也与字符串的乘法类似,都是将所有元素倍增。
lit1 = [1, 2, 3]
lit2 = lit1*2 # lit2 = [1,2,3,1,2,3]
2.4 增
append() : 在当前列表尾部追加一个元素。
lit1 = [1, 2, 3]
lit1.append(4) # lit1 = [1,2,3,4]
insert() : 在指定索引值出添加一个元素。
lit1 = [1, 2, 3]
lit1.insert(1,4) # lit1 = [1,4,2,3]
extend() : 对当前列表元素进行批量增加。
lit1 = [1, 2, 3]
lit1.extend([4, 5, 6]) # lit1 = [1, 2, 3, 4, 5, 6]
2.5 删
pop(index) : 弹出当前列表索引值为index的元素(若pop函数无参数,则默认弹出列表尾部元素)。
lit1 = [1, 2, 3]
lit1.pop(2) # lit1 = [1,2]
lit1 = [1, 2, 3]
lit1.pop() # lit1 = [1,2]
remove() : 按照指定元素值进行删除操作。
lit1 = [1, 2, 3]
lit1.remove(1) # lit1 = [2,3]
del() : 删除列表或删除指定索引的元素。
lit1 = [1, 2, 3]
del lit1
print(lit1)
lit1 = [1, 2, 3]
del lit1[1] # lit1 = [1,3]
clear() : 清空列表所有元素,不同于del()的是clear并不会将列表回收
lit1 = [1, 2, 3]
lit1.clear()
print(lit1)
2.6 改
由于列表是一个可变数据类型,因此我们可以直接利用索引赋值即可。
lit1 = [1,2,3]
lit[1] = 4 #lit1 = [1,4,3]
2.7 查
由于列表是序列的一种,因此我们可以直接使用下标索引进行查询。
lit1 = [1, 2, 3]
lit1[1] # 2
index() 从左往右用于查找指定元素第一次出现的下标(正向索引下标)。
lit1 = [1, 2, 3, 1, 2, 3]
lit1.index(1) # 2
3. 多维列表
所谓的多维列表,其实就是一个列表中的嵌套了多个列表,小编看来和多维数组是差不多的意思。
3.1 多维列表的创建
创建一个3行3列的多维列表
lit1 = [
[1,2,3],
[4,5,6],
[7,8,9]
]
print(lit1)
由于列表的索引都是从0开始的,因此我们进行列表操作时也要注意索引问题,不能很容易发生索引越界。
4. 列表的函数和方法
4.1 列表的函数 :
函数 | 含义 |
---|---|
len(list) | 列表元素个数 |
max(list) | 返回列表元素最大值 |
min(list) | 返回列表元素最小值 |
list(lterable) | 将可迭代对象转化为列表 |
4.2 列表的方法:
方法 | 描述 |
---|---|
list.append() | 在列表尾部插入一个新的元素 |
list.insert() | 在指定索引值出添加一个元素 |
list.extend() | 在列表尾部追加另一个序列的元素 |
list.pop() | 将指定索引的元素弹出列表(无参数默认为尾部元素) |
list.remove() | 移除列表中的某个值的第一个匹配值(从左往右匹配) |
list.clear() | 清空列表元素 |
list.index() | 从列表篇中找出某个值第一个匹配值的索引位置(从左往右匹配) |
list.count() | 统计某个元素在列表的出现次数 |
list.sort([func]) | 按照指定方法进行排序 |
list.copy() | 复制列表 |
以上是我对列表的一个基本整理,如若存在问题,麻烦指出,我们一起学习进步谢谢!!!