Python - list 列表常见方法
list.append(x)
介绍
- 在列表的末尾添加一个元素
- 相当于 a[len(a):] = [x]
返回值
None
栗子
# append a = [1, 2, 3] b = [4, 5, 6] print(a.append(1)) print(a) a.append(b) print(a) # 输出结果 None [1, 2, 3, 1] [1, 2, 3, 1, [4, 5, 6]]
a.append(b) 会将整个列表当做一个元素添加进去哦
list.extend(iterable)
介绍
- 使用可迭代对象中的所有元素来扩展列表
- 粗俗点:在列表后面接另一个列表
- 相当于 a[len(a):] = iterable
返回值
None
栗子
# extend a = [1, 2, 3] b = [4, 5, 6] print(a.extend([])) print(a) a.extend(b) print(a) a = [1, 2, 3] b = [4, 5, 6] print(a + b) # 输出结果 None [1, 2, 3] [1, 2, 3, 4, 5, 6] [1, 2, 3, 4, 5, 6]
extend() 有点像列表相加,但还是有区别的
a.extend(b) 和 a+b 的区别
- extend() 传的参数只要求是可迭代对象
- 但是列表相加,要求都是列表
- 而可迭代对象的讲解可以参考这篇文章:https://www.cnblogs.com/poloyy/p/14658433.html
list.insert(i, x)
介绍
- 在给定的位置插入一个元素
- i:是要插入的元素的索引
- x:插入的元素值
- a.insert(0, x) 插入列表首位
- a.insert(len(a), x) 等同于 a.append(x)
返回值
None
栗子
# insert a = [1, 2, 3] print(a.insert(0, 0)) print(a) b = [4, 5, 6] a.insert(999, b) print(a) # 输出结果 None [0, 1, 2, 3] [0, 1, 2, 3, [4, 5, 6]]
如果 i 值大于列表长度,那么就会在列表末尾添加元素
list.remove(x)
介绍
- 移除列表中第一个值为 x 的元素
- 如果没有这样的元素,则抛出 ValueError 异常
返回值
None
栗子
# remove a = [1, 2, 3, 1] print(a.remove(1)) print(a) a.remove(4) # 输出结果 None [2, 3, 1] Traceback (most recent call last): a.remove(4) ValueError: list.remove(x): x not in list
list.pop([i])
介绍
- 删除列表中指定位置的元素并返回它
- 如果没有指定位置,a.pop() 将会删除并返回列表中的最后一个元素
- [i] 代表参数 i 是可选的,不是必填的,不是让你传 [1] 、[2] 这种参数
返回值
被删除的元素值
栗子
# pop a = [1, 2, 3, 4] print(a.pop(3)) print(a) a.pop() print(a) a.pop(1) print(a) # 输出结果 4 [1, 2, 3] [1, 2] [1]
list.clear()
介绍
- 移除列表中的所有元素
- 等价于 del a[:]
返回值
None
栗子
# clear a = [1, 2, 3, 4] print(a.clear()) print(a) # 输出结果 None []
list.index(x[, start[, end]])
介绍
- 返回列表中第一个值为 x 的元素的索引
- 如果没有这样的元素将会抛出 ValueError 异常
- 可选参数 start 和 end 是切片符号,用于将搜索限制为列表的特定子序列
- 返回的索引是相对于整个序列的开始计算的,而不是 start 参数
返回值
索引值
栗子
# index a = [1, 2, 3, 4] print(a.index(2)) print(a.index(1, 0, 2)) print(a.index(33)) # 输出结果 1 0 Traceback (most recent call last): print(a.index(33)) ValueError: 33 is not in list
list.count(x)
介绍
返回元素 x 在列表中出现的次数
返回值
次数
栗子
# count a = [1, 2, 1, 4] print(a.count(1)) print(a.count(3)) # 输出结果 2 0
list.sort(*, key=None, reverse=False)
介绍
对列表中的元素进行排序(参数可用于自定义排序)
返回值
None
栗子
# sort a = [4, 3, 2, 1] print(a.sort()) print(a) a.sort(reverse=True) print(a) # 输出结果 None [1, 2, 3, 4] [4, 3, 2, 1]
list.reverse()
介绍
翻转列表中的元素
返回值
None
栗子
# reverse() a = [1, 2, 3, 4] print(a.reverse()) print(a) # 输出结果 None [4, 3, 2, 1]
list.copy()
介绍
- 返回列表的一个浅拷贝
- 等价于 a[:]
返回值
原来的列表
栗子
# copy a = [1, 2, 3, [1, 2, 3]] print(a.copy()) b = a.copy() a[1] = 11 print(a) print(b) a[3][2] = 22 print(a) print(b) # 输出结果 [1, 2, 3, [1, 2, 3]] [1, 11, 3, [1, 2, 3]] [1, 2, 3, [1, 2, 3]] [1, 11, 3, [1, 2, 22]] [1, 2, 3, [1, 2, 22]]
可以从结果看出,的确是浅拷贝