python迭代器的使用

#使用迭代器实现有限历史纪录搜索
from collections import deque

#迭代器,使用deque实现有限历史记录
def search( strings, target, historyNum):
record = deque( maxlen = historyNum)
for ss in strings:
if target in ss:
yield ss,record
record.append(ss)
#测试搜索
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)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值