Python中的循环列表迭代器

我需要迭代一个循环列表,可能多次,每次从最后访问的项目开始.

用例是连接池.客户端请求连接,迭代器检查指向的连接是否可用并返回它,否则循环直到找到可用的连接.

有没有一种巧妙的方法Python中做到这一点?

解决方法

使用 itertools.cycle,这是它的确切目的:

from itertools import cycle

lst = ['a','b','c']

pool = cycle(lst)

for item in pool:
    print item,

输出

a b c a b c ...

(显然是永远的循环)

为了手动推进迭代器并逐个拉取值,只需调用next(pool)

>>> next(pool)
'a'
>>> next(pool)
'b'

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...