python迭代器的使用

2021-08-15 18:10:04 字數 833 閱讀 2925

#使用迭代器實現有限歷史紀錄搜尋

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 等...