国产探花免费观看_亚洲丰满少妇自慰呻吟_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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广灵县| 贵州省| 岚皋县| 炉霍县| 明溪县| 辛集市| 阿瓦提县| 海林市| 个旧市| 灌南县| 舞钢市| 雅安市| 砚山县| 石景山区| 哈巴河县| 梓潼县| 昂仁县| 高邑县| 枣强县| 巫山县| 淅川县| 长沙县| 方山县| 呈贡县| 都兰县| 贵州省| 大同县| 西林县| 开远市| 玉环县| 宜兰市| 开化县| 沈阳市| 乌鲁木齐市| 双牌县| 闵行区| 永善县| 东乌珠穆沁旗| 布尔津县| 多伦县| 潞城市|