#使用迭代器實現有限歷史紀錄搜尋
from collections
import deque
#迭代器,使用deque實現有限歷史記錄
defsearch(
strings,
target,
historynum):
record = deque(
maxlen = historynum)
for ss
in strings:
if target
in ss:
yield ss,record
#測試搜尋
s = (
'gps',
'beidou',
'galileo',
'beidou',
'glonass',
'gagan',
'qzss',
'beidou')
#待搜尋字串
totalfind =
0 for t,record
in search(s,
'ido',
2):#搜尋包含ido的字串,搜尋過程中儲存2條歷史記錄
for ss
in record:
print(ss)
#輸出歷史記錄
print(t)
#輸出搜尋到的字串
print(
'-'*
5)#用於分隔迭代器的輸出
totalfind = totalfind +
1 print(
'總共找到
%d次目標字元' % totalfind)
python迭代器使用 Python迭代器的用法
我們在前面使用過語句 for x in列表物件 這就表示列表物件是可迭代的 iterable 那麼如何判斷某個物件是否可迭代呢?答案是可以使用collections.iterable類來判斷。如下面的 所示,列表是可迭代的,整數是不可迭代的,字串是可迭代的。from collections impo...
Python 迭代器的使用
迭代是python最強大的功能之一,是訪問集合元素的一種方式。迭代器是乙個可以記住遍歷的位置的物件。迭代器物件從集合的第乙個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會後退。迭代器有兩個基本的方法 iter 和 next 使用案例 list a 1 3,5 8,0 迭代器是一種訪問集...
python的迭代器 Python 迭代器
迭代器 迭代是訪問集合元素的一種方式。迭代器是乙個可以記住遍歷的位置的物件。迭代器物件從集合的第乙個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會後退。可迭代物件 以直接作用於 for 迴圈的資料型別有以下幾種 一類是集合資料型別,如 list tuple dict set str 等...