2 / 2 / 1
Регистрация: 15.10.2015
Сообщений: 173

Некорректная работа функции range

11.03.2017, 07:25. Показов 4084. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Что-то функция range в третьем Python работает так
Python
1
range(8)
>>range(0,8)
и т.д. - Что это такое?)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.03.2017, 07:25
Ответы с готовыми решениями:

Некорректная работа модуля
Доброго времени суток. Написал модуль, в котором создается класс. При копировании кода из файла модуля в idle класс работает корректно. Но,...

Некорректная работа
Подскажите пожалуйста. Поставил win10, как-то сразу криво пошла установка anaconda. Запуск только через bat .... теперь выполняю...

Некорректная работа DateFieldListFilter
Доброго часу. Есть встроенный фильтр по датам в Django: DateFieldListFilter, решил я добавить туда свою фильтрацию: self.links += ((...

10
0 / 0 / 2
Регистрация: 28.02.2017
Сообщений: 29
11.03.2017, 08:04
range работает нормально,это стандартно.
Смотря с какой целью нужно. Можно получить список
Python
1
list(range(8))
кортеж
Python
1
 tuple(range(8))
Python
1
2
 for i in range(8):
    print(i) # для получения чисел
0
440 / 432 / 159
Регистрация: 21.05.2016
Сообщений: 1,338
11.03.2017, 10:40
Цитата Сообщение от SKY_SHY Посмотреть сообщение
Что-то функция range в третьем Python работает так
Python
1
range(8)
>>range(0,8)
и т.д. - Что это такое?)
А что не понравилось? Если указан только один аргумент n, то range выдает последрвательность от нуля до n-1 с шагом 1

range(8), range(0,8) и range(0,8,1) эквивалентны
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
11.03.2017, 12:21
Цитата Сообщение от oldnewyear Посмотреть сообщение
А что не понравилось
Да, видимо, что "ленивой" она стала :-). Как раньше xrange.
------------------------
И кто-то (lambda x:x['ТС']) забывает читать документацию.
0
in code we trust
 Аватар для __py__
133 / 162 / 12
Регистрация: 29.02.2016
Сообщений: 885
11.03.2017, 13:28
Цитата Сообщение от СергейЧА Посмотреть сообщение
Смотря с какой целью нужно. Можно получить список
Python
Выделить код
1
list(range(8))
кортеж
Python
Выделить код
1
tuple(range(8))
или множества
Python
1
set(range(5))
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
11.03.2017, 16:21
Цитата Сообщение от Garry Galler Посмотреть сообщение
Да, видимо, что "ленивой" она стала :-). Как раньше xrange.
Если бы она была ленивой, то такое не было-бы возможно. Просто она возвращает объект range, а не список.
Python
1
2
3
4
5
r = range(5)
r[0]
0
r[3]
3
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
11.03.2017, 17:06
Цитата Сообщение от alex925 Посмотреть сообщение
Если бы она была ленивой, то такое не было-бы возможно
И тем не менее она ленивая (понятие 'ленивости' функции в разных языках фундаментально ничем не отличается), то есть вычисляет очередное значение только в момент обращения к нему.
То, что она еще и по индексу умеет возвращать - просто деталь реализации конкретного генератора.
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
11.03.2017, 17:21
Garry Galler, Открой документацию и не увидишь там ничего о том, что она ленивая. range возвращает просто неизменяемую последовательность и все
range is actually an immutable sequence type
https://docs.python.org/3.5/li... func-range

Цитата Сообщение от Garry Galler Посмотреть сообщение
просто деталь реализации конкретного генератора.
К генератору невозможно обращаться по индексу, просто в принципе. Он только выдает каждое следующие значении (не сохраняя предыдущие) и все. Иначе это уже не генератор.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
11.03.2017, 17:41
Ок. Сколько занимает в памяти это неизменяемая последовательность?
Python
1
range(10000000000000000000000000000000000000000000000000000000000000000000000000000000)
P. S. Это все еще не "ленивая" последовательность?

Добавлено через 1 минуту
Цитата Сообщение от alex925 Посмотреть сообщение
Он только выдает каждое следующие значении (не сохраняя предыдущие) и все. Иначе это уже не генератор.
Генератор как раз сохраняет состояние, иначе как бы он знал с какой точки делать возврат.

Добавлено через 16 минут
Цитата Сообщение от alex925 Посмотреть сообщение
Открой документацию
И читаем ниже:
The advantage of the range type over a regular list or tuple is that a range object will always take the same (small) amount of memory, no matter the size of the range it represents (as it only stores the start, stop and step values, calculating individual items and subranges as needed).
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
11.03.2017, 17:42
Цитата Сообщение от Garry Galler Посмотреть сообщение
Генератор как раз сохраняет состояние
Я о том, что он не знает предыдущие состоянии и будущие тоже, по этому по нему нельзя пробегаться туда обратно.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
11.03.2017, 17:45
Цитата Сообщение от alex925 Посмотреть сообщение
по этому по нему нельзя пробегаться туда обратно
А вот вычислить отдельное значение запрошенное по индексу - запросто.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.03.2017, 17:45
Помогаю со студенческими работами здесь

Некорректная работа requests
Всем привет,я создал бесконечный цикл в котором идёт GET-запрос на сервер после идёт задержка.Так вот,если отправить этот GET-запрос через...

py2exe и cx_freeze некорректная работа
Есть GUI приложение с использованием wxPython для Python 2.7 при запуске cx_freeze создается exe-файл, но надписи на кнопках не...

Работа с INI: некорректная работа пользовательской функции
Ранее нашел код для работы с ini-файлами: public class INI { /// <summary> /// Чтение...

Некорректная работа функции
Язык Си, суть программы - подсчитать кол-во единиц в двоичном представлении десятичного числа, объясните, пожалуйста, почему функция binary...

Некорректная работа функции Dir
Функция Dir с параметром vbDirectory должна выдавать список папок в указанном каталоге, НО... DOCUMENT PerfLogs PROG Program...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru