懂ni 发表于 2018-8-9 11:01:08

python列表生成器与生成器

  列表生成器是python内置的非常简单却非常强大的。
  生成一个列表可以用list(range(1,5))

  列表生成器的应用

  如果上面的公式加上判断,就可以筛选出想要的结果,比如仅需要偶数的平方

  使用多层循环

  生成器
  生成器与列表生成器的本质区别就是:一个已经生成数据了,使用时,如果数据过大,会产生内存溢出,而生成器是只有循环时,才会生成数据。
  生成器与列表生成器的区别在于一个是[],一个是()
  生成器书写
g=(x x ())  
(g)

  打印generator的方法是next(g)和for循环

  使用函数的形式,打印斐波拉契数列
(max):  
    nab=n < max:
  
      (b)
  
      ab=ba+b
  
      n=n+fib()

  上面的函数和generator仅一步之遥,要把fib函数变成generator,只需要把print(b)改成yield 就可以
(max):  
    nab=n < max:
  
      b
  
      ab=ba+b
  
      n=n+fib()
  打印fib的生成器方法
i fib():  
    (i)
  如果使用for循环调用generator时,想拿到return返回值,需捕获stopIteration错误,返回值包含在stopIteration的value中:
  g=fib(6)
(max):  
    nab=n < max:
  
      b
  
      ab=ba+b
  
      n=n+g=fib()
  
:
  
    :
  
      x=(g)
  
      (x)
  
    e:
  
      (e.value)
页: [1]
查看完整版本: python列表生成器与生成器