Python

Python xrange против. диапазон

Python xrange против. диапазон
До версии Python 2.x, в этом языке использовалось всего два базовых метода для создания списка целых чисел в пределах заданного диапазона. Эти два метода перечислены ниже:

диапазон ()
xrange ()

Двигаясь вперед, с последней версией Python (начиная с 3), range () был удален, а затем xrange () был заменен на range (). Теперь в Python 3 для этого метода есть только одна функция: i.е., диапазон (). В Python 3 функция range () - это просто еще один способ реализации более старой версии xrange () Python 2.Икс. Здесь мы свяжем два.

Xrange ()

Xrange () используется для создания числовой последовательности, такой как функция range ().

Синтаксис

Синтаксис, используемый для определения xrange ():

xrange (начало, конец, шаг)

Функция используется для определения диапазона чисел от (входит) до конца (не входит).

Параметры

Ниже приводится список обязательных параметров:

Начало: начальная позиция числовой серии
Конец: конечная позиция числовой серии
Шаг: различие между двумя последовательными числами в серии.

Примеры

В следующем примере мы проверим способы определения xrange.

Здесь мы будем указывать только конечную позицию.

Итак, конечное значение установлено как 5, а затем мы печатаем конечную позицию, как показано ниже:

Теперь мы увидим метод вызова диапазона, синтаксис для вызова end будет:

>>> x = xrange (конец)

Тогда мы напечатаем это.

Мы получим диапазон на выходе, как показано выше.

Теперь мы определим как начальную, так и конечную точки. Здесь начальная точка - 2, а конечная - 5. Затем мы распечатали начальную и конечную позиции, как показано ниже:

После этого мы будем создавать последовательность чисел из наших начальных и конечных точек, i.е., От 2 до 5.

>>> y = xrange (начало, конец)

Наконец, мы проверим метод определения начальной точки, шага и конечной точки. Как только мы определили все три параметра; мы будем вызывать их аналогично методу, показанному ниже:

Теперь, чтобы вызвать xrange для этих трех параметров, мы будем использовать следующий синтаксис:

>>> z = xrange (начало, шаг, конец)

Диапазон ()

Range () используется для создания списка и является более быстрой функцией для нескольких итераций.

Синтаксис

Используется следующий синтаксис:

>>> диапазон (начало, конец, шаг)

Примеры

В первом случае мы будем определять конечное значение. Для этого используется следующий синтаксис:

>>> диапазон (конец)

Итак, в примере, приведенном ниже, мы будем использовать 3 в качестве конечного значения диапазона. Когда мы печатаем его, он возвращает значения, исключая конечное значение.

В следующем примере мы используем пример описания начальной и конечной точки. Значение будет начинаться с 1 и заканчиваться на 10 (исключая его). Начальная точка включена, но конечная точка опущена. Синтаксис аналогичен приведенному ниже:

>>> диапазон (начало, конец)

Итак, мы определяем начальную точку, а затем конечную точку, которая равна 1 и 10 соответственно.

Теперь в следующем примере у нас будет ступенчатая функция. Функция, определяющая промежуток между любыми двумя точками в последовательности. Значение будет начинаться с 0 и заканчиваться на 10 (исключая его). Используемый синтаксис приведен ниже:

>>> диапазон (начало, шаг, конец)

Пример приведен ниже, где 2 - значение шага.

Преимущества

диапазон ()

Быстрее, если итерации будут выполняться несколько раз. range () имеет только значения целочисленных объектов в реальном времени. Что касается памяти, это не очень хорошо.

xrange ()

Он должен каждый раз воссоздавать целочисленный объект. xrange () нет, поскольку он не поддерживает срезы и методы списков. xrange () занимает такой же объем памяти. Итак, что касается производительности, особенно когда пользователи выполняют итерацию по большему значению диапазона, xrange () работает намного лучше.

Сходства между Python 2 и Python 3 range и xrange

Python 2 xrange имеет описательное представление в виде строки, которая очень похожа на значение объекта range в Python 3.

Значение xrange () в Python 2 является повторяемым, поэтому в Python 3 используется rang ().

xrange () и range () имеют значения шага, конца и начальной точки. В обоих случаях шаг является необязательным полем, как и начальное значение.

Оба xrange Python 2 и Python 3 поддерживают длину, которую можно индексировать в прямом или обратном порядке. Вот пример того же:

Различия между range () и xrange ()

Поскольку xrange () оценивает только объект-генератор со значениями, необходимыми для ленивого вычисления, его быстрее реализовать в диапазоне range (). range () помогает вернуть список и имеет все объекты, которые можно использовать, тогда как xrange () возвращает объекты, связанные со списком, и не может быть применен к ним, поэтому мы можем считать это недостатком.

Переменная, используемая в функции range (), хранит значение диапазона и, таким образом, занимает много памяти по сравнению с xrange (), которая занимает только часть памяти из-за переменных. range () возвращает объект диапазона, тогда как xrange () возвращает объект генератора.

Функция range (1, 7, 2) вернет результат [1, 3, 5], а вход xrange (1, 7, 2) даст результат [1, 3, 5]. Вот как можно предположить, что они похожи по узору.

Заключение

range () и xrange () имеют разные характеристики, как обсуждалось выше. Все сравнения, упомянутые в этом руководстве, наряду с примерами, помогут читателям лучше выбрать предпочтительный метод на основе своих требований.

Как установить Doom и играть в него в Linux
Введение в Doom Серия Doom возникла в 90-х годах после выхода оригинальной Doom. Это мгновенно стал хитом, и с тех пор серия игр получила множество на...
Vulkan для пользователей Linux
С каждым новым поколением видеокарт мы видим, как разработчики игр расширяют границы графической точности и приближаются на шаг ближе к фотореализму. ...
OpenTTD против Simutrans
Создание собственного транспортного симулятора может быть увлекательным, расслабляющим и чрезвычайно увлекательным занятием. Вот почему вам нужно попр...