最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python迭代器與生成器基本用法分析

 更新時間:2018年07月26日 08:38:48   作者:笨鳥可以先飛呀  
這篇文章主要介紹了Python迭代器與生成器基本用法,結(jié)合實例形式分析了Python迭代器與生成器的基本功能、定義及使用方法,需要的朋友可以參考下

本文實例講述了Python迭代器與生成器基本用法。分享給大家供大家參考,具體如下:

迭代器

可以進(jìn)行for循環(huán)的數(shù)據(jù)類型包括以下兩種:

1. 集合數(shù)據(jù)類型比如list,tupledict,str

2. 另一種是生成器

而他們都是可迭代對象,稱為Iterable

Isinstandce()可以用來判斷對象是否為可迭代對象

>>> from collections import Iterable
>>> isinstance([], Iterable)
True
>>> isinstance({}, Iterable)
True
>>> isinstance('abc', Iterable)
True
>>> isinstance((x for x in range(10)), Iterable)
True
>>> isinstance(100, Iterable)
False

然后,只有生成器可以稱為迭代器,因為他們是不斷使用next()函數(shù)返回值的,屬于惰性計算,而對于迭代器也有一個判斷函數(shù)

>>> from collections import Iterator
>>> isinstance((x for x in range(10)), Iterator)
True
>>> isinstance([], Iterator)
False
>>> isinstance({}, Iterator)
False
>>> isinstance('abc', Iterator)
False

生成器

生成器:就是未循環(huán)完的列表,這是為了節(jié)約電腦內(nèi)存,設(shè)立的一種一邊循環(huán)一邊計算的機(jī)制。

創(chuàng)建的方法也是很簡單,其中一種就是把列表生成式的[]改成()就可以了

而調(diào)用的時候也一般不用麻煩的next()的方法,而是用for循環(huán)來遍歷

比如:

g= (x*x for x in range(10))
for n in g:
 print(n)

這樣就能遍歷出所有的生成器中的元素

另一種生成器的方法:如果函數(shù)中包含有yield關(guān)鍵字,則這是一個生成器

def odd():
  print('step 1')
  yield 1
  print('step 2')
  yield(3)
  print('step 3')
  yield(5)

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

最新評論

郴州市| 邢台县| 华宁县| 德兴市| 阿拉善左旗| 腾冲县| 专栏| 石棉县| 大姚县| 南华县| 睢宁县| 民丰县| 乐业县| 宁晋县| 应城市| 中超| 东源县| 新邵县| 察雅县| 浮山县| 上虞市| 垫江县| 和硕县| 临海市| 佛冈县| 岑溪市| 什邡市| 田林县| 渭南市| 阿克苏市| 文成县| 年辖:市辖区| 石渠县| 望都县| 兰溪市| 托克托县| 龙口市| 永新县| 合肥市| 讷河市| 崇义县|