迭代器生成器複習

2022-06-22 23:00:17 字數 884 閱讀 2133

1

#用生成器實現處理檔案,使用者指定要查詢的檔案和內容,將檔案中包含要查詢內容的每一行輸出到螢幕23

deffunc(filename, fileinfo):

4 with open(filename, mode='

r', encoding='

utf-8

') as f:

5for line inf:6

if fileinfo in

line:

7yield

fileinfo

89 filename = input("

請輸入檔名:")

10 fileinfo = input("

請輸入要查詢的內容:")

1112 g =func(filename, fileinfo)

1314

for i in

g:15

print

(i.strip())

1617

1819

2021

#寫生成器,從檔案中讀取內容,在每一次讀取到的內容之前加上***之後再返回給使用者

2223

deffunc1(filename):

24 with open(filename, mode='

r', encoding='

utf-8

') as f:

25for line in

f:26

yield

'****

' +line

2728

for i in func1('

text.txt'):

29print(i.strip())

view code

生成器 迭代器

最近見天一直在看廖大的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...