iter(something)
возвращает объект итератора, который возвращает элементы something
. Если something
уже является итератором, он просто возвращает его без изменений. Таким образом,
if iter(data) is data:
- это способ определить, является ли data
объектом итератора. Если это так, он преобразует его в список всех элементов.
Это происходит потому, что после кода требуется реальный список элементов. Есть вещи, которые вы можете сделать со списком, которые вы не можете сделать с помощью итератора, например, элементы доступа, определенные c, элементы вставки / удаления и l oop над ним несколько раз. Итераторы могут обрабатываться только последовательно.