注:lst为定义的列表变量,如:lst = [1, 2, 3, 4, 5]
增:
1. lst.append() 末尾追加
lst = [1, 2, 3, 4, 5, 6] lst.append(7) print(lst) 打印结果: [1, 2, 3, 4, 5, 6, 7]
2. lst.extend() 迭代添加,参数为可迭代对象,如列表,元组等
lst = [1, 2, 3, 4, 5, 6] t = (8, 9) lst.extend(t) print(lst) 打印结果: [1, 2, 3, 4, 5, 6, 8, 9]
3. lst.insert() 指定索引位置添加,参数1为索引,参数2为新增元素
lst = [1, 2, 3, 4, 5, 6] lst.insert(1, 10) # 在索引位置为1的地方新增10 print(lst) 打印结果: [1, 10, 2, 3, 4, 5, 6]
删:
1. lst.pop() 删除指定位置元素,参数为索引,默认删除末尾元素,有返回值,为被删除的元素
lst = [1, 2, 3, 4, 5, 6] ret = lst.pop() # 默认删除末尾元素 print(lst) 打印结果: [1, 2, 3, 4, 5] print(ret) # 返回值 打印结果: 6 ret = lst.pop(0) # 删除索引为0的元素,即1 print(lst) 打印结果: [2, 3, 4, 5, 6] print(ret) # 返回值 打印结果: 1
2. lst.remove() 删除指定元素,参数为列表元素,没有返回值
lst = [1, 2, 3, 4, 5, 6] lst.remove(2) # 删除元素2 print(lst) 打印结果: [1, 3, 4, 5, 6]
3. lst.clear() 清空列表中所有元素
lst = [1, 2, 3, 4, 5, 6] lst.clear() # 清空列表 print(lst) 打印结果: []
4. del python内置的删除方法
lst = [1, 2, 3, 4, 5, 6] del lst[0] # 删除索引位置为0的元素,即1 打印结果: [2, 3, 4, 5, 6] del lst[1:3] # 切片删除,左闭右开,即删除索引为1和2的元素 print(lst) 打印结果: [1, 4, 5, 6] del lst # 删除整个列表,即该列表不存在了
改:
1. lst[索引] = 新值 通过索引直接赋新值
lst = [1, 2, 3, 4, 5, 6] lst[0] = 100 print(lst) 打印结果: [100, 2, 3, 4, 5, 6]
查:
1. lst[索引] 通过索引直接取值
lst = [1, 2, 3, 4, 5, 6] res = lst[3] # 查找索引为3的元素 print(res) 打印结果: 4
2. 切片
lst = [1, 2, 3, 4, 5, 6] res = lst[1:3] # 左闭右开 print(res) 打印结果: [2, 3] res = lst[:] # 切取所有元素 print(res) 打印结果: [1, 2, 3, 4, 5, 6] res = lst[-1:-5:-1] # 反向切取,参数3的-1为切取方向,-1代表反向,默认为1,正向 print(res) 打印结果: [6, 5, 4, 3]
3. lst.index() 返回该元素的索引,参数为列表元素
lst = [1, 2, 3, 4, 5, 6, 'good'] res = lst.index('good') print(res) 打印结果: 6
4. lst.count() 统计某个元素在列表中出现的次数
lst = [1, 2, 3, 4, 5, 6, 'good', 'good'] res = lst.count('good') print(res) 打印结果: 2
其它方法:
1. lst.sort() 对列表进行正向排序
lst = [7, 6, 8, 10, 3, 1] lst.sort() print(lst) 打印结果: [1, 3, 6, 7, 8, 10]
2. lst.reverse() 对列表进行反向排序
lst = [1, 2, 5, 3, 4] lst.reverse() # 注意是反向,不是从大到小排序 print(lst) 打印结果: [4, 3, 5, 2, 1]
3. 列表推导式
lst = [i*2 for i in range(1, 6)] # range是左闭右开,默认从0开始 print(lst) 打印结果: [2, 4, 6, 8, 10] 面试题:将列表表达式的中括号[]换成小括号(),是否改变? 答:是的,变成了生成器表达式