zoukankan      html  css  js  c++  java
  • 六 三元表达式、列表推导式、生成器表达式

    一 三元表达式

    二 列表推导式

    三 生成器表达式

    一 三元表达式

    1 name=input('姓名>>: ')
    2 res='abc' if name == 'lucy' else 'jack'
    3 print(res)

    二 列表推导式

    #1、示例
    egg_list=[]
    for i in range(10):
        egg_list.append('鸡蛋%s' %i)
    
    egg_list=['鸡蛋%s' %i for i in range(10)]
    
    #2、语法
    [expression for item1 in iterable1 if condition1
    for item2 in iterable2 if condition2
    ...
    for itemN in iterableN if conditionN
    ]
    类似于
    res=[]
    for item1 in iterable1:
        if condition1:
            for item2 in iterable2:
                if condition2
                    ...
                    for itemN in iterableN:
                        if conditionN:
                            res.append(expression)
    
    #3、优点:方便,改变了编程习惯,可称之为声明式编程

    三 生成器表达式

     1 #1、把列表推导式的[]换成()就是生成器表达式
     2 
     3 #2、示例:生一筐鸡蛋变成给你一只老母鸡,用的时候就下蛋,这也是生成器的特性
     4 >>> chicken=('鸡蛋%s' %i for i in range(5))
     5 >>> chicken
     6 <generator object <genexpr> at 0x10143f200>
     7 >>> next(chicken)
     8 '鸡蛋0'
     9 >>> list(chicken) #因chicken可迭代,因而可以转成列表
    10 ['鸡蛋1', '鸡蛋2', '鸡蛋3', '鸡蛋4',]
    11 
    12 #3、优点:省内存,一次只产生一个值在内存中
  • 相关阅读:
    java 基础知识学习 priorityQueue
    MySQL 学习三 关于转义
    java基础知识 学习 关于URL中传递的参数含有特殊字符
    MYSQL学习二 关于左连接
    大型网站架构体系的演变
    java 最佳实践
    Spring boot 学习 九
    七: git每次push都输入用户名,密码
    【JS】自学
    【CSS3】CSS3自学
  • 原文地址:https://www.cnblogs.com/eric_yi/p/8449157.html
Copyright © 2011-2022 走看看