当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python iter用法及代码示例


用法:

iter(object[, sentinel])

返回一个迭代器对象。根据第二个参数的存在,第一个参数的解释非常不同。如果没有第二个参数,object 必须是支持可迭代协议(__iter__() 方法)的集合对象,或者它必须支持序列协议(__getitem__() 方法,整数参数从 0 开始)。如果它不支持这些协议中的任何一个,则会引发TypeError。如果给出第二个参数 sentinel ,则 object 必须是可调用对象。在这种情况下创建的迭代器将调用 object,每次调用其 __next__() 方法时都没有参数;如果返回的值等于 sentinel ,将引发 StopIteration ,否则将返回该值。

另请参见迭代器类型。

iter() 第二种形式的一个有用应用是构建block-reader。例如,从二进制数据库文件中读取 fixed-width 块,直到到达文件末尾:

from functools import partial
with open('mydata.db', 'rb') as f:
    for block in iter(partial(f.read, 64), b''):
        process_block(block)

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 iter。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。