list的一些函数整理
Python 列表 list 所有方法 超详细讲解(完全仿照你要的 enumerate 格式)
先统一准备测试列表:
python
运行
lst = [1, 2, 3, 4]
- append()
语法
python
运行
列表.append(元素)
作用
在列表末尾 **** 追加一个元素,原地修改原列表,无返回值。
示例
python
运行
lst = [1,2,3]
lst.append(99)
print(lst)
输出:[1, 2, 3, 99]
特点
只能加一个元素
如果传入列表,会把整个列表当成一个子元素加进去
python
运行
lst.append([10,20])
[1,2,3,99,[10,20]]
- extend()
语法
python
运行
列表.extend(可迭代对象)
作用
把字符串、列表、元组等可迭代对象里的每一个元素,逐个追加到原列表末尾,原地修改。
示例
python
运行
lst = [1,2,3]
lst.extend([4,5])
print(lst)
输出:[1, 2, 3, 4, 5]
和 append 区别
append:把整体当一个元素加入
extend:拆开逐个元素加入
3. insert()
语法
python
运行
列表.insert(索引, 元素)
作用
在指定索引位置插入元素,原元素向后挪。
示例
python
运行
lst = [1,2,3]
lst.insert(0, 100) # 索引0插入
print(lst)
输出:[100, 1, 2, 3]
特点
索引可以超出列表长度,自动插到末尾。
4. pop()
语法
python
运行
列表.pop()
列表.pop(索引)
作用
按索引删除元素,并返回被删除的元素。
不传索引默认删除最后一个。
示例
python
运行
lst = [10,20,30]
res = lst.pop()
print(res) # 30
print(lst) # [10, 20]
lst.pop(0)
print(lst) # [20]
5. remove()
语法
python
运行
列表.remove(元素值)
作用
删除列表中第一个匹配到的指定值,原地修改,无返回值。
示例
python
运行
lst = [1,2,3,2]
lst.remove(2)
print(lst)
输出:[1, 3, 2]
注意
元素不存在会报错。
6. clear()
语法
python
运行
列表.clear()
作用
清空列表,保留空列表 []。
示例
python
运行
lst = [1,2,3]
lst.clear()
print(lst)
输出:[]
- index()
语法
python
运行
列表.index(元素)
列表.index(元素, 起始查找位置)
作用
返回元素第一次出现的索引下标。
示例
python
运行
lst = [5,6,7,6]
print(lst.index(6))
输出:1
注意
元素不存在会报错。
8. count()
语法
python
运行
列表.count(元素)
作用
统计某个元素在列表中出现的次数。
示例
python
运行
lst = [1,2,2,3,2]
print(lst.count(2))
输出:3
- sort()
语法
python
运行
列表.sort()
列表.sort(reverse=True)
作用
原地排序,直接修改原列表,默认升序;
reverse=True 改为降序。
示例
python
运行
lst = [3,1,4,2]
lst.sort()
print(lst) # [1,2,3,4]
lst.sort(reverse=True)
print(lst) # [4,3,2,1]
特点
只能同类型元素排序,不能数字和字符串混排。
10. reverse()
语法
python
运行
列表.reverse()
作用
原地反转列表,颠倒元素顺序,不排序,只翻转位置。
示例
python
运行
lst = [1,2,3,4]
lst.reverse()
print(lst)
输出:[4, 3, 2, 1]
- copy()
语法
python
运行
新列表 = 列表.copy()
作用
生成列表浅拷贝,得到一个新列表,互不影响。
示例
python
运行
lst1 = [1,2,3]
lst2 = lst1.copy()
lst2.append(99)
print(lst1) # [1,2,3] 不变
print(lst2) # [1,2,3,99]
等价写法
lst2 = lst1[:]
附加:能作用于列表的全局内置函数(不是列表方法)
len()
python
运行
len(lst) # 获取列表元素个数
max() / min()
python
运行
max(lst) # 最大值
min(lst) # 最小值
sum()
python
运行
sum(lst) # 纯数字列表求和
sorted()
python
运行
new_lst = sorted(lst)
返回新排序列表,不改动原列表
我可以把这一整套整理成一页可直接保存的笔记版,要不要我给你压缩成精简背诵版?
请将每个函数使用时需要注意的地方叶罗列出来,还有一些经典用法也写出来
Python list 全部 11 个方法
语法 + 作用 + 经典用法 + 注意事项
格式完全跟你之前学 enumerate() 一致,每条独立、清晰、可直接背诵。
- append()
语法
python
运行
lst.append(元素)
作用
在列表末尾追加一个元素,原地修改原列表。
经典用法
python
运行
lst = [1,2,3]
lst.append(4)
[1,2,3,4]
注意事项
只接收一个参数,不能一次性加多个元素。
追加列表 / 元组时,整体当作一个子元素塞入,不会拆开。
无返回值,不能写 a = lst.append(4),a 会是 None。
2. extend()
语法
python
运行
lst.extend(可迭代对象)
作用
把可迭代对象(列表、元组、字符串)拆开,逐个元素追加到原列表。
经典用法
python
运行
lst = [1,2]
lst.extend([3,4])
[1,2,3,4]
lst.extend("ab")
[1,2,3,4,'a','b']
注意事项
和 append 区别:append 整体加,extend 拆开加。
不能传数字,只能传可迭代对象。
原地修改,无返回值。
3. insert()
语法
python
运行
lst.insert(索引, 元素)
作用
在指定索引位置插入元素,后面元素自动后移。
经典用法
python
运行
lst = [1,2,3]
lst.insert(0, 99) # 插到最前面
[99,1,2,3]
注意事项
插入会占用内存、后移元素,数据量大时效率低。
索引可以超出列表长度,自动插到末尾。
也可以插列表,当作子元素插入。
4. pop()
语法
python
运行
lst.pop() # 删最后一个
lst.pop(索引) # 删除指定索引
作用
按索引删除元素,并返回被删除的元素。
经典用法
python
运行
lst = [10,20,30]
x = lst.pop()
print(x) # 30
注意事项
不传参数默认删最后一位。
索引不存在会报错。
有返回值,可以接收被删掉的数据。
适合栈结构:append 入栈,pop 出栈。
5. remove()
语法
python
运行
lst.remove(元素值)
作用
删除列表中第一个匹配到的指定值。
经典用法
python
运行
lst = [1,2,3,2]
lst.remove(2)
[1,3,2]
注意事项
只删第一个匹配项,后面重复的不动。
元素不存在直接报错,最好先 if x in lst 判断。
按值删,不是按索引删。
无返回值。
6. clear()
语法
python
运行
lst.clear()
作用
清空列表所有元素,变成空列表 []。
经典用法
python
运行
lst = [1,2,3]
lst.clear()
[]
注意事项
只是清空元素,列表本身还存在。
和 del lst 不同:del 是删掉整个变量,clear 只清空内容。
7. index()
语法
python
运行
lst.index(元素)
lst.index(元素, 起始位置)
作用
返回元素第一次出现的索引。
经典用法
python
运行
lst = [5,6,7,6]
print(lst.index(6)) # 1
注意事项
元素不存在直接报错,使用前建议先 in 判断。
只找第一个匹配的下标。
可以指定起始查找位置,跳过前面部分。
8. count()
语法
python
运行
lst.count(元素)
作用
统计元素在列表中出现的次数。
经典用法
python
运行
lst = [1,2,2,3,2]
print(lst.count(2)) # 3
注意事项
找不到元素返回 0,不会报错。
只能精准匹配,不能模糊查找。
适合统计重复数据。
9. sort()
语法
python
运行
lst.sort() # 升序
lst.sort(reverse=True) # 降序
作用
原地从小到大排序,直接修改原列表。
经典用法
python
运行
lst = [3,1,4,2]
lst.sort() # [1,2,3,4]
lst.sort(reverse=True) # [4,3,2,1]
注意事项
原地修改,无返回值。
列表里不能数字和字符串混排,会报错。
只能排同类型数据。
只想得到新列表不改动原列表,用全局函数 sorted(lst)。
10. reverse()
语法
python
运行
lst.reverse()
作用
原地反转列表顺序,不排序,只颠倒位置。
经典用法
python
运行
lst = [1,2,3,4]
lst.reverse()
[4,3,2,1]
注意事项
只是倒序摆放,不会从小到大排序。
原地修改,无返回值。
想生成反转新列表不改原数据:lst[::-1]
11. copy()
语法
python
运行
new_lst = lst.copy()
作用
生成列表浅拷贝,新列表和原列表互不影响。
经典用法
python
运行
a = [1,2,3]
b = a.copy()
b.append(99)
a不变,b变
注意事项
等价写法:b = a[:]、b = list(a)
属于浅拷贝:嵌套子列表时,子列表还是共用地址。
单层列表完全够用;多层嵌套要用 copy.deepcopy。
补充:易混点总结(必记)
append 加整体,extend 拆开放
pop 按索引删、有返回值;remove 按值删、无返回值
sort 原地排序;sorted 返回新列表、不改原数据
clear 清空内容;del 删除整个变量
index 找不到报错;count 找不到返回 0
本文来自博客园,作者:{睡佛爷},转载请注明原文链接:{https://www.cnblogs.com/sfy-cnblogs.com}
浙公网安备 33010602011771号