• Python 推导式


    列表推导式

    # [ expression for item in iterable ]
    
    names = ['1_1', '1_2', '11_1', '11_2']
    [name for name in names if len(name) == 3 and name[1] == '_'] 
    # ['1_1', '1_2']
    
    [number for number in range(1, 6)]
    # [1, 2, 3, 4, 5]
    [number - 1 for number in range(1, 6)]
    # [0, 1, 2, 3, 4]
    [number for number in range(1, 6) if number % 2 == 1]
    # [1, 3, 5]
    
    rows = range(1, 4)
    cols = range(1, 3)
    [(row, col) for row in rows for col in cols]
    # [(1, 1), (1, 2), (2, 1), (2, 2), (3, 1), (3, 2)]
    x = [word.capitalize()
        for line in ("hello world?", "world!", "or not")
        for word in line.split()
        if not word.startswith("or")]
    
    x
    #['Hello', 'World?', 'World!', 'Not']

    字典推导式

    # { key_expression : value_expression for expression in iterable }
    
    word = 'letters'
    word.count('l')
    # 1
    {letter : word.count(letter) for letter in set(word)}
    # {'e': 2, 'l': 1, 'r': 1, 's': 1, 't': 2}

    集合推导式

    { number for number in range(1, 6) if number % 3 == 1 }
    # {1, 4}

    生成器推导式

    number_thing = (number for number in range(1,6))
    number_thing
    #<generator object <genexpr> at 0x7ff718252b48>
    list(number_thing)
    #[1, 2, 3, 4, 5]
    list(number_thing)
    #[]
  • 相关阅读:
    CADisplayLink
    对项目重命名
    TCP|UDP|Http|Socket
    CoreAnimation|动画
    Autolayout
    通讯录
    本地通知
    用于做 Android 屏幕自适应的文章资源
    Java String.format 自动补全不够的位数
    不同语言之间 日期格式转换
  • 原文地址:https://www.cnblogs.com/jzm17173/p/5723911.html
Copyright © 2020-2023  润新知