zoukankan      html  css  js  c++  java
  • python之迭代器,生成器,递归等归纳

    可迭代的对象:python中凡是具有__iter__魔法属性的对象便是可迭代对象。在python中,凡是能够遍历的对象都是可迭代的。一般有list,set, dict,char ,tuple,range。可迭代的对象通过iter函数包装便是迭代器。

    迭代器:对象具有__iter__和__next__属性的对象是迭代器。迭代器可以通过next函数访问下一个元素

    递归:在函数里不断调用自身的过程。但由于递归时,重复调用自身,需要临时保存中间值,导致占用内存较多,不建议使用。递归过程中一定会用到迭代,并需要保存中间值。

    迭代器:凡是能够迭代的,并能够通过next产生下一元素的对象即迭代器。由于迭代器不断通过next产生数据,并不保存一系列的数据。不是通过保存一系列数据,
    并逐个调取,因此执行速度较快,与递归大大相反。

    生成器:是一种特殊的迭代器,凡是函数中有yield关键字,便是生成器。生成器的最大特点是:1.控制函数的运行过程 2.逐一生成数据,节约内存资源

    定义一个迭代器:

    a=[1,5,10]

    b=iter(a) #b便成为一个迭代器

    print(next(b))#通过next函数可以逐个获得a中的数据

  • 相关阅读:
    高斯消元
    UVa12103
    UVa10294
    UVa11762
    牛客网算法工程师能力评估
    华为研发工程师编程题
    网易2017春招笔试真题编程题集合
    2017网易有道内推编程题
    2017网易雷火实习生招聘编程题
    数组---面试知识点整理
  • 原文地址:https://www.cnblogs.com/xuehaiwuya0000/p/10891491.html
Copyright © 2011-2022 走看看