/
IvanKhabarov
/
python
Обзор
Документация
Войти
/
IvanKhabarov
/
python
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Lections/Lesson5/Iterators/task_iter_1.py
30 строк
2 KB
Ivan-Khabarov
Добавлена лекция 5
08 сен 2024, 10:16
08 сен 2024, 10:16
72f79b2
Код
Авторство
О чём код?
# Функция iter имеет формат iter(object[, sentinel]). object является обязательным # аргументом. Если объект не реализует интерфейс итерации через методы __iter__ # или __getitem__, получим ошибку TypeError. a = 42 # iter(a) # Получим итератор списка data = [2, 4, 6, 8] list_iter = iter(data) print(list_iter) # Напрямую извлечь данные из итератора не получится. Python сообщает, что # переменная list_iter указывает на <list_iterator object at 0x0000025383D29400>, т.е. # объект итератор списка. Для кортежа функция iter вернёт tuple_iterator, для # множеств set_iterator, а например для dict.items() вернётся dict_itemiterator. # Один из простейших способов получить элементы - распаковать итератор через # звёздочку. data = [2, 4, 6, 8] list_iter = iter(data) print(*list_iter) print(*list_iter) # 🔥 Внимание! Обратите внимание, что итератор является одноразовым # объектом. Получив все элементы коллекции один раз он перестаёт работать. # Для повторного извлечения элементов необходимо создать новый итератор.