• Python 基础知识整理-3 (list 列表)


    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]

      

  • 相关阅读:
    三分法
    牛客网 TaoTao要吃鸡 ( 0/1背包变形 )
    POJ 3275 Ranking the cows ( Floyd求解传递闭包 && Bitset优化 )
    Codeforces 912E Prime Gift ( 二分 && 折半枚举 && 双指针技巧)
    Codeforces 912D Fishs ( 贪心 && 概率期望 && 优先队列 )
    Codeforces 919D Substring ( 拓扑排序 && DAG上的DP )
    队列构造拓扑排序
    Codeforces 919E Congruence Equation ( 数论 && 费马小定理 )
    Codeforces 916B Jamie and Binary Sequence ( 模拟 && 思维 )
    POJ 1769 Minimizing maximizer ( 线段树 && DP )
  • 原文地址:https://www.cnblogs.com/Linc2010/p/8295191.html
Copyright © 2020-2023  润新知