国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

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

2020-02-15 22:32:01
字體:
來源:轉載
供稿:網友

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

迭代器

可以進行for循環的數據類型包括以下兩種:

1. 集合數據類型比如listtupledictstr

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()函數返回值的,屬于惰性計算,而對于迭代器也有一個判斷函數

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

生成器

生成器:就是未循環完的列表,這是為了節約電腦內存,設立的一種一邊循環一邊計算的機制。

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

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

比如:

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

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

另一種生成器的方法:如果函數中包含有yield關鍵字,則這是一個生成器

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

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數據結構與算法教程》、《Python加密解密算法與技巧總結》、《Python編碼操作技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贵阳市| 喀喇| 宜都市| 五台县| 安远县| 柳林县| 衢州市| 朝阳县| 离岛区| 博白县| 上高县| 海口市| 石泉县| 平安县| 扎鲁特旗| 梁平县| 会同县| 鄂州市| 香港 | 湖南省| 曲水县| 佛学| 连山| 宁明县| 随州市| 太和县| 九台市| 金沙县| 石渠县| 沈阳市| 新龙县| 乌拉特后旗| 石嘴山市| 常山县| 邮箱| 溆浦县| 乐都县| 弋阳县| 昌黎县| 望奎县| 汕头市|