zoukankan      html  css  js  c++  java
  • day14.2_三元表达式、列表生成式

    一、三元表达式

    print(条件成立时的返回值 if 条件 else 条件不成立时的返回值)

    x=1
    y=3
    print(y if x>y else x)

    二、列表生成式

    l=[i**3 for i in range(3)]
    print(l)

    三、字典生成式

    s="@@"
    l=[1,2,3]
    res=zip(s,l)  # <zip object at 0x0000021F3DC6CB48>  
    print(list(res))         #元组形式的列表(一一对应,多余的不会组成元组)
    print(type(zip(s,l)))  #<class 'zip'>

    生成字典

    keys=["name","age","sex"]
    values=["Namy",18,"female"]
    res=zip(keys,values)
    print(res)    # <zip object at 0x000001BE6751CC08>
    print(list(res))   # [('name', 'Namy'), ('age', 18), ('sex', 'female')]
    d={}
    for k,v in zip(keys,values):
        d[k]=v
    print(d)   # {'name': 'Namy', 'age': 18, 'sex': 'female'}
    d={k:v for k,v in zip(keys,values)}
    print(d)

    四、生成器表达式

    g=(i for i in range(6))
    print(g)   #<generator object <genexpr> at 0x000001A808412C50>
    print(next(g))

    统计文件中某行的字符长度最多

    with open("a.txt",encoding="utf-8") as f:
        nums=(len(line) for line in f)
        print(max(nums))

    例子:

    l=["sb%s" %i for i in range(99)]
    pirnt(l)     # 一次性生成99个sb
    
    g=("sb%s"%i for i in range(99))
    print(g)   #此时的g是一个生成器,并没有直接将99个值全部一次性取出
    print(next(g))   #需要一个取出一个即可
  • 相关阅读:
    CSS——before和after伪元素
    CSS——滑动门技术及应用
    CSS案例3(在线教育网站)
    CSS——背景渐变
    CSS字体图标
    CSS——精灵技术
    CSS——溢出文字隐藏
    Intellij IDEA -01 如何配置项目!
    Intellij Idea -02 如何将项目工程横向排列变成纵向排列
    java8 --新特性汇总
  • 原文地址:https://www.cnblogs.com/Smart1san/p/9178306.html
Copyright © 2011-2022 走看看