zoukankan      html  css  js  c++  java
  • 列表推导式和生成器表达式

    列表推导式

    固定语法 [i for i in a if ***]

    示例:获取偶数

    a = [1,2,3,4]
    x = []
    for i in a:
        if i%2 == 0:
            x.append(i)
    a = x
    print(a)
    #[2,4]

    使用列表推导式:

    a = [1,2,3,4]
    a = [i for i in a if i%2 == 0]
    print(a)
    #[2,4]

    列表推导式可以调用函数:

    a = [1,2,3,4]
    b = [i*i for i in a]
    print(b)
    # [1, 4, 9, 16]
    
    如果调用函数:
    a = [1,2,3,4]
    def pingfang(x):
        return x*x
    b = [pingfang(i) for i in a]
    print(b)
    # [1, 4, 9, 16]

    生成器表达式

    语法:把列表推导式的[]换成()

    a = [1,2,3,4]
    a = ['%s个鸡蛋'%i for i in a]          #列表推导式
    print(a)
    # ['1个鸡蛋', '2个鸡蛋', '3个鸡蛋', '4个鸡蛋']

    转换如下:

    a = [1,2,3,4]
    a = ('老母鸡下%s个蛋'%i for i in a)       #生成器表达式      a是一个生成器
    g = a
    print(next(g))
    print(next(g))
    print(next(g))
    print(next(g))
    #老母鸡下1个蛋
    # 老母鸡下2个蛋
    # 老母鸡下3个蛋
    # 老母鸡下4个蛋

    字典推导式

    和列表推导式类似

    示例:把字典的key与value对换

    dic = {'a':1,'b':2}
    dic = {dic[k]:k for k in dic}
    print(dic)
    # {1: 'a', 2: 'b'}
  • 相关阅读:
    SQL复杂查询和视图(2)
    SQL复杂查询和视图
    SQL语言概述
    元组演算与关系代数关系
    关系的元组演算
    线索二叉树
    二叉树的遍历
    树的基本概念
    【支付专区】之微信支付构建请求参数xml
    【支付专区】之微信支付请求数据签名
  • 原文地址:https://www.cnblogs.com/jin-yuana/p/10024956.html
Copyright © 2011-2022 走看看