zoukankan      html  css  js  c++  java
  • python笔记4:高级特性

    4 高级特性

    4.1  切片 [:]

      *注:-- list和tuple,字符串都支持切片

    4.2 迭代 Iteration for ... in 及 for ... in if

    两个变量迭代时,

    例1:数组>>> for x, y in [(1, 1), (2, 4), (3, 9)]: 结果1 1 -- 2 4 -- 3 9
    例2:字典>>>d={'x':'A','y':'B','z':'C'} >>> for k,v in d.items(): 或者 [k + '=' + v for k, v in d.items()] 结果y = B--x = A--z = C

    4.3 列表生成式

    例子 >>> [x * x for x in range(1, 11) if x % 2 == 0];>>> [m + n for m in 'ABC' for n in 'XYZ']

    4.4 生成器 generator

    - 作用:大量数据处理时,一边循环一边计算; 注意:通过for in循环而不是next()来迭代打印元素
    例子:斐波那契数列:

    def fib(max):
    n, a, b = 0, 0, 1
    while n < max:
    yield b
    a, b = b, a + b
    n = n + 1

    创建的两种方法:
      1.由列表改成: 把一个列表生成式的[]改成();
      2.由函数改成: 使用yield语句而不是return语句返回结果;
      *注:yield语句一次返回一个结果,在每个结果中间,挂起函数的状态,以便下次重它离开的地方继续执行,另外生成器的唯一注意事项就是:生成器只能遍历一次
    yield的形象比喻:挤牙膏,从外部每调用一次,“挤”出一行,处理完再“挤”出下一行,再处理,这里说的“挤”,就是yield。
    关于yield使用情况及方法: https://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/ 

  • 相关阅读:
    18-[模块]-shutil
    4-linux基本命令
    代码重构之移除对参数的赋值
    代码重构之分解临时变量
    代码重构之引入解释性变量
    代码重构之以查询取代临时变量
    代码重构之内联临时变量
    代码重构之内联函数
    代码重构之提取方法
    JQuery EasyUI validate 扩展
  • 原文地址:https://www.cnblogs.com/W-Yentl/p/7816719.html
Copyright © 2011-2022 走看看