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)# 添加列表2lst.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 copylst = [1, 2, 4, 5, 6, 7, 8, 9, 100,['a','b','c']]# 浅COPYlst2 = lst.copy() # 还有一种写法: copy.copy(lst)print('第一种浅COPY:', lst2)# 更新列表中最后一个中第一个为【aaa】 查看lst lst2两个结果lst[-1][0] = 'aaa'# 查看结果发现,两个结果都更新了,浅copyprint('两个结果查看', lst, lst2)# 第二种实现 浅COPYlst3 = lst[:]print('第二种实现 浅COPY:', lst3)# 第三种实现 浅COPYlst4 = 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 copylst = [1, 2, 4, 5, 6, 7, 8, 9, 100,['a','b','c']]# 深COPYlst5 = copy.deepcopy(lst)print('深COPY:', lst5)lst[-1][0] = 'aaa'# 查看结果发现,两个结果都更新了,浅copyprint('两个结果查看', 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查找列表索引: 2lst = [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]