• python学习(五)列表


    #!/usr/bin/python
    
    # 列表的学习, 列表的概念不陌生, 就是熟悉一下python中的列表是如何操作的
    
    # 1. 序列的操作
    
    L = [ 123, 'spam', 1.23]        # 里面的元素不用一致
    
    len(L)                          # 获取序列的长度, 和字符串一样, 所以我就想字符串内部是不是也是序列
    
    L[0]                            # 通过位置来索引序列中的元素
    
    L[:-1]                          # 分片
    L + [4, 5, 6]                   # 通过加号操作生成一个新的序列, 而不是在L的末尾的内存处继续添加
    
    
    # 2. 类型特定的操作
    
    L.append('NI')                  # 在序列的末尾增加一个元素
    
    L.pop(2)                        # 从中间弹出一个元素
    # 所以这里列表是可变的
    
    M = ['bb', 'aa', 'cc']
    M.sort()                        # 对序列排序
    M.reverse()                     # 翻转序列
    
    # 边界检查
    # 虽然列表没有固定的大小, 但是操作的时候超出边界会引起错误
    
    # L[99] 这样的就会报错的
    
    # 3. 嵌套
    # python的列表支持任意的嵌套
    M = [[1, 2, 3],
         [4, 5, 6],
         [7, 8, 9]]
    
    M[1]
    M[1][2]                         # 用了多个[]就表示要逐层深入解析
    
    # 4. 列表的解析
    col2 = [row[1] for row in M]    # 我曹, 还可以这样
    # col2 = [2, 5, 8], M没有变化
    col3 = [row[1] + 1 for row in M]
    col4 = [row[1] for row in M if row[1] % 2 == 0]
    
    # 注意中操作只适用于小规模的数据, 如果是大规模的数据要用到其他的扩展包
    diag = [M[i][i] for i in [0, 1, 2]]
    
    doubles = [c * 2 for c in 'spam']
    # doubles = ['ss', 'pp', 'aa', 'mm']
    
    # 列表解析在函数map和filter有更复杂的
    
    G = (sum(row) for row in M)     # 对行求和
    list(map(sum, M))
    
    # 在python 3.0中, 解析语法也可以生成集合和字典
    {sum(row) for row in M}
    {i : sum(M[i]) for i in range(3)}
  • 相关阅读:
    简单工厂模式
    单例模式
    Quartz.NET总结(三)Quartz 配置
    Quartz.NET总结(二)CronTrigger和Cron表达式
    ORACLE跨数据库查询的方法
    github使用个人总结
    ffmpeg 下载安装和简单应用
    Python 安装与环境变量配置
    Sublime text 3 汉化教程
    给大家分享两套WordPress收费主题
  • 原文地址:https://www.cnblogs.com/tuhooo/p/7715643.html
Copyright © 2020-2023  润新知