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

    三元表达式

    三元表达式就是可以将if...else...分支,变成一行

    语法

    条件成立返回左边的值 if 判断条件 else 不成立返回右边的值

    def max(num1,num2):
        # 条件成立返回左边的值 if 判断条件 else 不成立返回右边的值
        res = num1 if num1>num2 else num2
        return res
    res = max(10,20)
    print(res)
    

    列表生成式

    列表生成式就是可以一行实现生成列表

    语法

    [取出的每一个任意值添加到当前列表中 for 可迭代对象中取出每一个值 in 可迭代对象]

    # 取出的每一个任意值添加到当前列表中 for 可迭代对象中取出每一个值 in 可迭代对象
    list1 = [line for line in range(1,101)]		# 生成一个列表,里边是1-100
    print(list1)
    

    for的右边是循环次数,可以取出可迭代对象中的每一个值

    for的左边可以为当前列表添加值

    list1 = ['sean','tank','egon','alex']
    # 为list1中的每个name后加上'_DSB'并过滤掉alex
    new_list = [name + '_DSB' for name in list1 if not  name == 'alex']
    print(new_list)
    

    生成器表达式(生成器生成式)

    ——列表生成式

    [line for line in rang(1,6)]--->[1, 2, 3, 4, 5]
    

    ——生成器生成式

    ()--->返回生成器

    g = (line for line in range(1,6))--->g生成器(1, 2, 3, 4, 5)
    

    列表生成器(当数据量比较小时采用)

    优点:可以依赖索引取值,取值方便

    缺点:浪费资源

    生成器生成式(当数据量较大时采用)

    优点:节省资源

    缺点:取值不方便

    # 生成一个有1000个值的生成器
    g = (line for line in range(1, 1000001))
    print(g)
    # <generator object <genexpr> at 0x00000203262318E0>
    
  • 相关阅读:
    【MPI学习2】MPI并行程序设计模式:对等模式 & 主从模式
    【MPI学习1】简单MPI程序示例
    【多线程】零碎记录1
    【APUE】Chapter17 Advanced IPC & sign extension & 结构体内存对齐
    php-7.1编译记录
    rsyslogd系统日志服务总结
    php配置(php7.3)
    php-fpm回顾和总结
    php-fpm配置项
    Hive之执行计划分析(explain)
  • 原文地址:https://www.cnblogs.com/aheng/p/11858922.html
Copyright © 2011-2022 走看看