zoukankan      html  css  js  c++  java
  • 各种推导式

    列表推导式 [结果 for循环 if]
    字典推导式 {结果(k:v) for循环 if}
    集合推导式 {结果(k) for循环 if}

    # 生成列表: python1->python18
    # lst = []
    # for i in range(1, 19):
    #     lst.append("python%s期" % i)
    #
    # print(lst)
    # 列表推导式 [结果 for循环 if条件]
    
    
    # lst = ["python%s期" % i for i in range(1, 19)]
    # print(lst)
    
    # 生成列表.类表中装的数据是 1-100之间所有的偶数的平方
    
    # lst = [i**2 for i in range(1, 101) if i%2 == 0]
    # print(lst)
    
    # 筛选出列表中姓张的同学, lst = ["张无忌", "吴奇隆", "张诗诗", "范冰冰", "张翠山"]
    # lst = ["张无忌", "吴奇隆", "张诗诗", "范冰冰", "张翠山"]
    # lst2 = [name for name in lst if name.startswith("张")]
    # print(lst2)
    
    # # 寻找名字中带有两个e的人的名字
    # names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven','Joe'],
    #         ['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']]
    #
    # lst = [name for el in names for name in el if name.count("e") == 2]
    # print(lst)
    
    
    # 字典推导式
    # 语法: { 结果(key:value) for循环 if条件}
    # lst = [11,22,33]  # {0:11, 1:22, 2:33}
    #
    # dic = {i:lst[i] for i in range(len(lst))}
    # print(dic)
    
    # 练习: {"主食": "炒面", "副食": "小拌菜", "汤":"疙瘩汤"}
    # 把字典的key和value互换, 生成新字典
    # dic =  {"主食": "炒面", "副食": "小拌菜", "汤":"疙瘩汤"}
    # d = { v:k for k, v in dic.items()}
    # print(d)
    
    # 集合推导式 {k for循环 if 条件}
    
    # 没有元组推导式
    
    # g = (i for i in range(10)) # 生成器表达式
    #
    # print(g)  # <generator object <genexpr> at 0x0000000009E573B8>
    #
    # print(g.__next__()) # 0
    # print(g.__next__()) # 1
    # print(g.__next__()) # 2
    # print(g.__next__()) # 3
    # print(g.__next__()) # 4
    # print(g.__next__()) # 5
    # print(g.__next__()) # 6
    # print(g.__next__()) # 7
    # print(g.__next__()) # 8
    # print(g.__next__()) # 9
    # # print(g.__next__()) # ??? StopIteration
    #
    #
    # g = (i for i in range(10)) # 生成器表达式
    
    # 生成器函数
    # def func():
    #     print(111)
    #     yield 222
    #
    # # 惰性机制, 只能向前
    # g = func()  # 创建生成器
    # g1 = (i for i in g) # 生成器表达式
    # g2 = (i for i in g1) # 生成器表达式
    #
    # #
    # print(list(g1))
    # print(list(g)) # for -> __next__()
    # print(list(g2))
    

      

  • 相关阅读:
    Win7下用IIS发布网站
    进程的端口被占用的解决方案
    JS event loop
    慕课网
    angular js
    PowerDesign生成数据库
    CodeSmith 代码生成器
    微信小程序开发学习资料
    SSO 单点登录
    面试
  • 原文地址:https://www.cnblogs.com/YangWenYu-6/p/10105571.html
Copyright © 2011-2022 走看看