zoukankan      html  css  js  c++  java
  • for 循环新的写法==列表解析

    1. (for x in L1) 是一个可迭代对象;

    2. 列表解析比for 循环快,列表解析的迭代在解释器内部是以C语言速度执行,

      而不是手动python代码执行;

     

    (x+10 for x in L1) = for x in L1: L1.append(x+10)

    >>>for x in L1:

    >>>  L1[x] +=10

    3. 可以两个循环混合在一起,列表解析:a = [x+y for x in '你好吗?' for y in '我爱你中国!'] 

    4. 来自于:https://foofish.net/iterators-vs-generators.html

    for i in x:# 不断地获取迭代器中的下一个元素

    迭代器: 在调用next() 时 返回容器中的下一个值

    x = [1,2,3]

    for i in x:  

    5.  来自于:https://foofish.net/iterators-vs-generators.html

    生成器:生成器其实是一种特殊的迭代器,不再需要iter() 和 next(), 只需要返回一个yiled

    生成器一定是迭代器,反之不成立

    下图可以用在工作中,优化代码!

     

    6.  来自于:https://foofish.net/iterators-vs-generators.html

    分别用迭代器和生成器实现斐波那契数列

     

  • 相关阅读:
    Linux 文件权限
    spak数据倾斜解决方案
    逻辑时钟
    kafka入门
    深入学习MySQL事务:ACID特性的实现原理
    程序员的诗
    java技术突破要点
    一个请求过来都经历了什么
    如何保持长时间高效学习
    你的系统如何支撑高并发
  • 原文地址:https://www.cnblogs.com/vivivi/p/7073704.html
Copyright © 2011-2022 走看看