Вангую нано-оверхэд на создание итератора range. А зачем -1 кстати?
range не итератор ¯\_(ツ)_/¯
Там под капотом разве не генератор?
если нужно индексы и значения можно for index,value in enumerate(list)
next(range(2)) недавно обсуждали, что range это объект типа range, там не реализован протокол итератора next нету, собсно основное отличие что number in range(N) будет за константу, а элементы можно получить через index()
да.
Ну вообще да, но он является итерируемым объектом, но реализовано это на си -> пруф
в контексте питона он iterable объект типа то почему можно итерироваться но прост оне соблюдает протокол итератора, но ебучие тонкости которые нужно ток на собесах )
что то неверно написал?
Итерабл - то, по чему итертруются Итатор - то, что это это итерирование делает Не особо тонкости
язык мой враг мой )
Не понимаю, о чём вы... Есть у него итератор.
https://stackoverflow.com/questions/21803830/why-is-the-range-object-not-an-iterator
А, ну это понятно. range не итератор, так же как list не итератор. Это типы последовательности, которые возвращают итератор при iter(), которые в свою очередь уже перебирают эти последовательности. Интересную штуку узнал, range может использоваться как ключ😳: dct = { range(1) : "red", range(2) : "green", range(3) : "blue" }
Обсуждают сегодня