iter
Возвращает объект итератора.
iter(obj[, sentinel])
-> iterator
obj -- Объект коллекции, поддерживающей итерирование (реализует __iter__()), либо объект, поддерживающий протокол последовательности (реализует __getitem__(), где аргумент целое, начиная с нуля). Если передан другой объект, возбуждается TypeError.
sentinel -- Если этот аргумент предоставлен, то ожидается, что obj содержит объект, поддерживающий вызов. В этом случае, созданный итератор будет вызывать указанный объект (без аргументов) с каждым обращением к своему __next__() и проверять полученное значение на равенство с sentinel. Если полученное значение равно sentinel, возбуждается StopIteration, иначе возвращается полученное значение.
sentinel -- Если этот аргумент предоставлен, то ожидается, что obj содержит объект, поддерживающий вызов. В этом случае, созданный итератор будет вызывать указанный объект (без аргументов) с каждым обращением к своему __next__() и проверять полученное значение на равенство с sentinel. Если полученное значение равно sentinel, возбуждается StopIteration, иначе возвращается полученное значение.
Функция возвращает итератор по объекту, поддерживающему итерирование по его элементам.
Одно из применений
Пользовательский тип, определивший __call__():
Внимание
В зависимости от наличия
sentinel
, в obj
ожидаются различные типы объектов.Одно из применений
sentinel
— чтение строк, пока не будет достигнута нужная. Следующий пример считывает файл, пока метод readline() не вернёт пустую строку: with open('mydata.txt') as fp:
for line in iter(fp.readline, ''):
# Делаем что-либо с line.
Пользовательский тип, определивший __call__():
class MyIterable(object):
def __init__(self):
self.index = 0
self.items = [1, 2, 3, 4]
def __call__(self):
value = self.items[self.index]
self.index += 1
return value
iterator = iter(MyIterable(), 3)
print(next(iterator)) # 1
print(next(iterator)) # 2
print(next(iterator)) # StopIteration
Синонимы поиска: iter
В разделе «Встроенные функции»:
abs
all
any
apply
ascii
bin
callable
chr
classmethod
cmp
compile
delattr
dir
divmod
enumerate
eval
exec
filter
format
getattr
globals
hasattr
hash
help
hex
id
input
isinstance
issubclass
len
locals
map
max
min
next
oct
open
ord
pow
print
raw_input
reduce
repr
reversed
round
setattr
sorted
staticmethod
sum
super
unichr
vars
zip
На заметку
В соответствующем разделе вы можете зарегистрировать сообщество по интересам, чтобы о нём узнали и другие посетители сайта — возможно, так вы отыщите новых единомышленников и друзей.. И не важно виртуальное оно, или вполне реальное, давно существующее, или только-только придуманное.