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

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

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

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

迭代器

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

1. 集合數(shù)據(jù)類型比如listtuple,dictstr

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)文章

最新評論

洞头县| 兴仁县| 汕尾市| 绥德县| 逊克县| 秭归县| 确山县| 禹州市| 冷水江市| 巴马| 乌鲁木齐市| 通江县| 嘉兴市| 新宾| 扬中市| 洪湖市| 萝北县| 柞水县| 商南县| 额济纳旗| 郸城县| 台东县| 青神县| 登封市| 冀州市| 靖西县| 苏尼特右旗| 乐业县| 彭水| 泰顺县| 全州县| 洛南县| 建始县| 贡山| 巨野县| 建始县| 梁平县| 镇宁| 科技| 蕲春县| 城口县|