Форум сайта python.su
5
Использую python 3.5.1 и столкнулся с такой проблемой как на скриншоте. (Windows 8)
Если пишу в Comodo edit (Python 3), то все нормально (смотрим скрин).
Что делать, почему не выводит список на экран ?
Прикреплённый файлы:
range.png (24,1 KБ)
Офлайн
568
Потому что range - это не список, искренне ваш Капитан Очевидность
Офлайн
857
LestoroerВ Comodo у тебя второй питон.
Если пишу в Comodo edit (Python 3), то все нормально (смотрим скрин).
Офлайн
5
py.user.nextТ.е. в 3 python не поддерживает такой вывод ?
В Comodo у тебя второй питон.
Отредактировано Lestoroer (Дек. 25, 2015 14:19:45)
Офлайн
857
LestoroerВо втором питоне было две функции range(): одна была range(), а другая - xrange(). Функция range() возвращала список и не могла принимать слишком длинные диапазоны (не хватало памяти), а xrange() могла принимать любые диапазоны, но возвращала специальный объект, похожий на итератор, но не итератор.
Т.е. в 3 python не поддерживает такой вывод ?
import sys sys.version
Отредактировано py.user.next (Дек. 25, 2015 14:37:13)
Офлайн
5
py.user.nextВот это ответ, вот это я понимаю, спасибо.
Во втором питоне было две функции range(): одна была range(), а другая - xrange(). Функция range() возвращала список и не могла принимать слишком длинные диапазоны (не хватало памяти), а xrange() могла принимать любые диапазоны, но возвращала специальный объект, похожий на итератор, но не итератор.
В третьем питоне эти две функции взяли и объединили в одну - имя взяли от первой функции, а возможности - от второй. И получилось, что в третьем питоне range() возвращает специальный объект, который не выводится через print() в виде списка.
Поэтому в Comodo можешь выполнить
print (list(range(10)))
Отредактировано Lestoroer (Дек. 26, 2015 06:40:39)
Офлайн