Python 列表
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推
序列都可以进行的操作包括索引,切片,加,乘,检查成员
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型
列表操作-查询
# 创建一个列表 lst = [1, 2, '3', '4', 'a', 'b'] # 根据索引获取列表值 注意列表索引从0开始 print('第3个列值:', lst[2]) # 获取某范围内索引列值 (切片) print('第2-5个列值:', lst[1:5]) # 获取第0到3索引列值 print('第0-3列值:', lst[:2]) # 最后一个列值 print('最后一个列值:', lst[-1]) # 获取倒数第3个到最后一个值 print('倒数3到最后一个值:', lst[-3:]) # 获取倒数第4个到倒数第2个值 (注意,切片需要从左到右) print('获取倒数第4个到倒数第2个值', lst[-4:-1]) 运行结果: 第3个列值: 3 第2-5个列值: [2, '3', '4', 'a'] 第0-3列值: [1, 2] 最后一个列值: b 倒数3到最后一个值: ['4', 'a', 'b'] 获取倒数第4个到倒数第2个值 ['3', '4', 'a']
列表操作-更新/删除/新增
# 创建一个列表 lst = [1, 2, '3', '4', 'a', 'b'] # 更新列表 lst[0] = '您好' print('更新后列表:', lst) # 删除列表 lst.remove('您好') # 还可以通过索引删除 lst.remove(0) print('删除后列表:', lst) # 删除最后一个 del lst[-1] print('删除后列表2:', lst) # 移除列表一个元素,默认最后一个,并且返回该元素值 lst.pop() # 还可以通过索引删除 lst.pop(0) print('删除后列表3:', lst) # 添加列表 lst.append('新增元素') print('新增后列表:', lst) # 添加列表2 lst.extend('新增元素2') print('新增后列表2:', lst) 运行结果: 更新后列表: ['您好', 2, '3', '4', 'a', 'b'] 删除后列表: [2, '3', '4', 'a', 'b'] 删除后列表2: [2, '3', '4', 'a'] 删除后列表3: [2, '3', '4'] 新增后列表: [2, '3', '4', '新增元素'] 新增后列表2: [2, '3', '4', '新增元素', '新', '增', '元', '素', '2']
列表操作-COPY
import copy lst = [1, 2, 4, 5, 6, 7, 8, 9, 100,['a','b','c']] # 浅COPY lst2 = lst.copy() # 还有一种写法: copy.copy(lst) print('第一种浅COPY:', lst2) # 更新列表中最后一个中第一个为【aaa】 查看lst lst2两个结果 lst[-1][0] = 'aaa' # 查看结果发现,两个结果都更新了,浅copy print('两个结果查看', lst, lst2) # 第二种实现 浅COPY lst3 = lst[:] print('第二种实现 浅COPY:', lst3) # 第三种实现 浅COPY lst4 = list(lst) print('第三种实现 浅COPY:', lst4) 运行结果: 第一种浅COPY: [1, 2, 4, 5, 6, 7, 8, 9, 100, ['a', 'b', 'c']] 两个结果查看 [1, 2, 4, 5, 6, 7, 8, 9, 100, ['aaa', 'b', 'c']] [1, 2, 4, 5, 6, 7, 8, 9, 100, ['aaa', 'b', 'c']] 第二种实现 浅COPY: [1, 2, 4, 5, 6, 7, 8, 9, 100, ['aaa', 'b', 'c']] 第三种实现 浅COPY: [1, 2, 4, 5, 6, 7, 8, 9, 100, ['aaa', 'b', 'c']]
import copy lst = [1, 2, 4, 5, 6, 7, 8, 9, 100,['a','b','c']] # 深COPY lst5 = copy.deepcopy(lst) print('深COPY:', lst5) lst[-1][0] = 'aaa' # 查看结果发现,两个结果都更新了,浅copy print('两个结果查看', lst, lst5) 运行结果: 深COPY: [1, 2, 4, 5, 6, 7, 8, 9, 100, ['a', 'b', 'c']] 两个结果查看 [1, 2, 4, 5, 6, 7, 8, 9, 100, ['aaa', 'b', 'c']] [1, 2, 4, 5, 6, 7, 8, 9, 100, ['a', 'b', 'c']]
列表操作-其他
# 创建一个列表 lst = [1, 2, '3', '4', 'a', 'b'] # 列表长度 print('列表长度:', len(lst)) # 查找列表索引 print('查找列表索引:', lst.index('3')) 运行结果: 列表长度: 6 查找列表索引: 2 lst = [1, 2, 4, 5, 6, 7, 8, 9, 100] print('列表最大值:', max(lst)) print('列表最小值:', min(lst)) print('列表重复:', lst*2) 运行结果: 列表最大值: 100 列表最小值: 1 列表重复: [1, 2, 4, 5, 6, 7, 8, 9, 100, 1, 2, 4, 5, 6, 7, 8, 9, 100]