Введение в итераторы

Инструментарий Python

Hugo Bowne-Anderson

Data Scientist at DataCamp

Перебор элементов с помощью цикла for

  • Можно перебирать список с помощью цикла for
employees = ['Nick', 'Lore', 'Hugo']

for employee in employees: print(employee)
Nick
Lore
Hugo
Инструментарий Python

Перебор элементов с помощью цикла for

  • Можно перебирать строку с помощью цикла for
for letter in 'DataCamp':
    print(letter)
D
a
t
a
C
a
m
p
Инструментарий Python

Перебор элементов с помощью цикла for

  • Можно перебирать объект range с помощью цикла for
for i in range(4):
    print(i)
0
1
2
3
Инструментарий Python

Итераторы и итерируемые объекты

  • Итерируемый объект
    • Примеры: списки, строки, словари, файловые соединения
    • Объект, у которого есть метод iter()
    • Применение iter() к итерируемому объекту создаёт итератор
  • Итератор
    • Возвращает следующее значение с помощью next()
Инструментарий Python

Перебор итерируемых объектов: next()

word = 'Da'
it = iter(word)

next(it)
'D'
next(it)
'a'
next(it)
StopIteration                   Traceback (most recent call last)
<ipython-input-11-2cdb14c0d4d6> in <module>()
-> 1 next(it)
StopIteration:
Инструментарий Python

Перебор всех элементов сразу с помощью *

word = 'Data'
it = iter(word)

print(*it)
D a t a
print(*it)
  • Значений больше нет!
Инструментарий Python

Перебор элементов словаря

pythonistas = {'hugo': 'bowne-anderson', 'francis': 'castro'}

for key, value in pythonistas.items(): print(key, value)
francis castro
hugo bowne-anderson
Инструментарий Python

Перебор элементов файлового соединения

file = open('file.txt')
it = iter(file)

print(next(it))
This is the first line.
print(next(it))
This is the second line.
Инструментарий Python

Давайте потренируемся!

Инструментарий Python

Preparing Video For Download...