190329迭代器 生成器 三元運算 列表解析

2022-07-02 21:39:20 字數 887 閱讀 9620

可迭代物件:遵循迭代器協議,即可迭代物件,(可以被for迴圈的就是可迭代物件)

l = 

iter_l = l.__iter__() #將列表轉換為迭代器

print(iter_l.__next__())

print(next(iter_l))

1、生成器函式
def f():

for i in range(10):

yield i

t = f()

print(t.__next__())

print(t.__next__())

print(t.__next__())

2、生成器表示式
xiadangongji = ("雞蛋%s" %i for i in range(10))

print(xiadangongji.__next__()) #雞蛋0

print(xiadangongji.__next__()) #雞蛋1

age = 18

res = "未成年" if age < 18 else "已成年"

print(res)

egg = ["雞蛋%s" %i for i in range(10)]

print(egg) #['雞蛋0', '雞蛋1', '雞蛋2', '雞蛋3', '雞蛋4', '雞蛋5', '雞蛋6', '雞蛋7', '雞蛋8', '雞蛋9']

egg2 = ["雞蛋%s" %i for i in range(10) if i > 5]

print(egg2) #['雞蛋6', '雞蛋7', '雞蛋8', '雞蛋9']

生成器 迭代器

最近見天一直在看廖大的python教程,卻發現很多基礎看著很簡單,但卻不會應用,歸根結底還是因為理解不到位,故而又將教程學了一遍,並將自己的理解記錄一下,也方便後面查閱。由於沒有相關程式設計基礎,有些理解可能是錯的,敬請批評指正。想深入具體學習廖大部落格請移步廖雪峰的官方 有時候用迴圈生成列表太過繁...

迭代器,生成器

迭代器 生成器 生成器的第1種實現方式 列表生成式改為生成器 python中yield關鍵字 函式中如果有yield,那麼呼叫這個函式的返回值為生成器。當生成器g呼叫next方法,執行函式,知道遇到yield就停止 再執行next,從上一次停止的地方繼續執行 函式中遇return直接退出,不繼續執行...

迭代器 生成器

迭代器 iter 可迭代物件 下乙個元素的值 next 可迭代物件 類中實現 iter 方法 提供迭代器 實現迭代器 import time class mylistiter object 迭代器類 def init self,data self.data data self.index 0 def...