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

首頁 > 編程 > Python > 正文

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

2020-01-04 14:45:44
字體:
來源:轉載
供稿:網友

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

迭代器

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

1. 集合數據類型比如list,tuple,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()函數返回值的,屬于惰性計算,而對于迭代器也有一個判斷函數

>>> 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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 讷河市| 雷山县| 泌阳县| 南丰县| 平阳县| 靖江市| 达孜县| 德州市| 闽侯县| 田林县| 大埔区| 德令哈市| 铁岭市| 巴林左旗| 邵东县| 寿阳县| 奈曼旗| 石渠县| 万安县| 华容县| 闵行区| 乡城县| 汉沽区| 广元市| 蚌埠市| 甘洛县| 咸丰县| 昌黎县| 株洲县| 光泽县| 万山特区| 甘肃省| 驻马店市| 济阳县| 西峡县| 新沂市| 滨州市| 五指山市| 葵青区| 吴江市| 呼图壁县|