• day_5.26python面试重点


    列表生成式:

     1 '''
     2 2018-5-26 19:40:58
     3 生成器(generator):在Python中,这种⼀边循环⼀边计算的机制。
     4 '''
     5 # 第一种实现 :只要把⼀个列表⽣成式的[  ]改成(   )
     6 #这是一个生成式
     7 L = [x*2 for  x in range(5)]
     8 print(L)
     9 # for i in range(5)    for循环5次
    10 G = (x*2 for x in range(5))
    11 print(G)
    12 '''
    13 创建L和G的区别仅在于最外层的[   ]和(    ),
    14 L是⼀个列表,⽽G是⼀个 ⽣成器。
    15 我们可以直接打印出L的每⼀个元素,
    16 但我们怎么打印出G的每⼀个 元素呢?
    17 如果要⼀个⼀个打印出来,
    18 可以通过next()函数获得⽣成器的下⼀个返回值
    19 '''
    20 #使用一个小小的while循环把生成器打印东西都储存到列表中
    21 b = []
    22 while True:
    23     a = next(G)
    24     print(a)
    25     b.append(a)
    26     break
    27 '''
    28 不用第三个变量完成变量交换
    29 '''
    30 a = 8
    31 b = 5
    32 a = a+b
    33 b = a-b
    34 a = a-b
    35 #在python中
    36 a,b = b,a
    37 
    38 #第二种实现,用函数方式实现
    39 #斐波拉契数列
    40 #只要函数里面有yield  则是一个生成器,是生成一个生成器的对象
    41 def creatNum():
    42     print("-----start-----")
    43     a,b = 9,1
    44     for i in range(5):
    45         print("---1-----")
    46         #让程序停了
    47         yield  b
    48         a,b = b ,a+b
    49         print("-----3-----")
    50     print("------stop__________")
    51 print(creatNum()) #生成了一个对象
    52 a = creatNum()
    53 next(a)

    
    
  • 相关阅读:
    RecyclerView 源码分析(一) —— 绘制流程解析
    sqlserver outer join
    获取最后一个标签 xpath
    pytesseract
    pytesseract代码优化
    sql server recursion
    sql
    sql server
    mssql乱码问题
    SQL
  • 原文地址:https://www.cnblogs.com/zhen1996/p/9095191.html
Copyright © 2020-2023  润新知