1. list.append(x) # 在列表的末尾添加一个元素 list_a = [1,2,3,4] list_a.append(5) print(list_a)
2. list.insert(i,x) #在指定位置插入元素。第一个参数是插入元素的索引 list_a = [1,2,3,4] list_a.insert(0,8) list_a.insert(len(list_a), 9) # 等同于 a.append(9) print(list_a)
3. list.remove(x) # 从列表中删除第一个值为 x 的元素 list_a = [1,2,3,4,2] list_a.remove(2) print(list_a)
4. list.pop([i]) # 删除列表中指定位置的元素,并返回被删除的元素。未指定位置时,a.pop() 删除并返回列表的最后一个元素。 # 方法签名中 i 两边的方括号表示该参数是可选的,不是要求输入方括号。 list_a = [1,2,3,4,2] x = list_a.pop(2) # 不能写成list_a.pop([2]) y = list_a.pop() # 删除并返回列表的最后一个元素 print(list_a) print(x,y)
一开始学习时,遇到报错:
TypeError: ‘list’ object cannot be interpreted as an integer
类型错误,不能将list对象转换为一个整数. pop方法签名中 i 两边的方括号表示该参数是可选的,不是要求输入方括号。
x = list_a.pop(2) 不能写成list_a.pop([2])
5. list.extend(iterable) # 用于在列表末尾一次性追加另一个序列中的多个值 list_a = [1,2,3,4,2] list_b = [6,7,8] list_a.extend(list_b) print(list_a,list_b)
6. list.clear() # 删除列表里的所有元素 list_a = [1,2,3,4,2] list_a.clear() print(list_a)
7. list.count(x) # 返回列表中元素 x 出现的次数。 list_a = [1,2,3,4,2] x =list_a.count(2) print(x)
8. list.index(x[, start[, end]]) # 返回列表中第一个值为 x 的元素的零基索引。未找到指定元素时,触发 ValueError 异常。 # 可选参数 start 和 end 是切片符号,用于将搜索限制为列表的特定子序列。返回的索引是相对于整个序列的开始计算的,而不是 start 参数。 list_a = [1,2,3,4,2] x =list_a.index(2) y = list_a.index(2,3,5) print(x,y) list_b = [123, 'xyz', 'yyy', 'abc'] print("xyz 索引位置: ", list_b.index( 'xyz' )) print("yyy 索引位置 : ", list_b.index( 'yyy', 1, 3 ))
9. list.sort(*, key=None, reverse=False) # 对原列表进行排序 list_a = [1,2,3,4,2] list_a.sort() # reverse = False 升序(默认) print(list_a) list_a.sort(reverse=True) # reverse = True 降序 print(list_a)
10. list.reverse() # 翻转列表中的元素 list_a = [1,2,3,4,2] list_a.reverse() print(list_a)
11. list.copy() # 复制一个副本 list_a = [1,2,3,4,2] list_b = list_a # 直接赋值,是引用赋值,更改一个,另一个同样会变 list_c = list_a.copy() # 复制一个副本,原值和新复制的变量互不影响 print(list_b) print(list_c) list_a.append(5) print(list_a) print(list_b) print(list_c)
列表推导式创建列表的方式更简洁。常见的用法为,对序列或可迭代对象中的每个元素应用某种操作,用生成的结果创建新的列表;或用满足特定条件的元素创建子序列。
# 1. 例如想生成一个平方列表,可以使用for循环,也可以使用列表推导式 list_a1 = [] for i in range(10): list_a1.append(i ** 2) print(list_a1) list_a2 = [i**2 for i in range(10)] print(list_a2) list_b1 = [] for i in range(10): if i !=1: list_b1.append(i ** 2) print(list_b1) list_b2 = [i**2 for i in range(10) if i != 1] print(list_b2) # 嵌套循环 list_c1 = [] for i in range(10): for j in range(10): list_c1.append(i * j) print(list_c1) list_c2 = [i*j for i in range(10) for j in range(10)] print(list_c2)