第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

怎么突然就多出來了prevlines和pline 兩個變量,什么意思?。?/h1>

怎么突然就多出來了prevlines和pline 兩個變量,什么意思???

蕭十郎 2022-12-06 19:15:29
代碼如下from collections import dequedef search(lines, pattern, history=5):previous_lines = deque(maxlen=history)for line in lines:if pattern in line:yield line, previous_linesprevious_lines.append(line)# Example use on a fileif __name__ == '__main__':with open(r'../../cookbook/somefile.txt') as f:for line, prevlines in search(f, 'python', 5):for pline in prevlines:print(pline, end='')print(line, end='')print('-' * 20)解釋下 for line, prevlines in search(f, 'python', 5):for pline in prevlines:這兩句
查看完整描述

2 回答

?
SMILET

TA貢獻1796條經驗 獲得超4個贊

for line, prevlines in search(f, 'python', 5):
這行是調用上文中定義的search方法,這個方法中的最后是通過yield返回了兩個參數line,和previous_lines,yield是一個迭代器,具體用法這就不詳細說了,因為yield是返回兩個參數,這句離要用line和prelines來接收兩個返回值,search方法中的三個參數根據上邊的方法中的定義分別為f是打開的文件的代指參照with open(r'../../cookbook/somefile.txt') as f,'python'是需要查找的條件,參照search方法中的if pattern in line:,5是指search方法中設定的deque雙向隊列的最大長度。
for pline in prevlines
這句是因為在search方法的結尾處previous_lines.append(line),把查找的包含'python'這句的line添加進了previous_lines這個雙向隊列,要對這個雙向隊列遍歷輸出,所以采用這種寫法,其中的pline為代稱,可以為任意值,改成a,b,c也沒有影響,不過相對應的輸出結果的print里的pline也要改成相對應的a,b,c

查看完整回答
反對 回復 2022-12-10
?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

yield line, previous_lines
yield關鍵字你自己去查下

查看完整回答
反對 回復 2022-12-10
  • 2 回答
  • 0 關注
  • 130 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號