Python xrange срещу range

Python Xrange Vs Range



До версията на Python 2.x имаше общо два основни метода, използвани на този език за генериране на списъка с цели числа в предоставения диапазон. Двата метода са изброени по -долу:

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







Продължавайки напред, с най -новата версия на Python (3 нататък), range () беше изтеглен, а xrange () след това беше променен в range (). Сега в Python 3 има само една функция за този метод, т.е. range (). В Python 3 функцията range () е просто друг начин за прилагане на по -старата версия на xrange () на python 2.x. Тук ще свържем двете.



Xrange ()

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



Синтаксис

Синтаксисът, използван за дефиниране на xrange (), е:





xrange(започнете,край,стъпка)

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

Параметри

Следва списък на необходимите параметри:



& emsp; Старт: Начална позиция на числовата поредица
& emsp; Край: Крайна позиция на числовата поредица
& emsp; Стъпка: Разликата между две последователни числа в поредицата.

Примери

В следващия пример ще проверим начините за дефиниране на xrange.

Тук ще посочим само крайната позиция.

И така, крайната стойност е зададена като 5 и след това ще отпечатаме крайната позиция, както е показано по -долу:

Сега ще видим метода за извикване на диапазон, синтаксисът на края на извикването ще бъде:

>>>х= xrange(край)

След това ще го отпечатаме.

Ще получим диапазона в изхода, както е показано по -горе.

Сега ще определим както началната, така и крайната точка. Тук началната точка е 2, а крайната точка 5. След това отпечатваме началната и крайната позиция, както е показано по -долу:

След това ще създадем поредица от числа от нашата начална и крайна точка, т.е. 2 до 5.

>>>и= xrange(започнете,край)

Накрая ще проверим метода за определяне на началната точка, стъпката и крайната точка. След като дефинираме и трите параметъра; ще ги наричаме подобно на метода, показан по -долу:

Сега, за да извикаме xrange за тези три параметъра, ще използваме следния синтаксис:

>>>С= xrange(започнете,стъпка,край)

Диапазон ()

Range () се използва за създаване на списък и е по -бърза функция за множество итерации.

Синтаксис

Използва се следният синтаксис:

>>> диапазон(започнете,край,стъпка)

Примери

За първия случай ще дефинираме крайната стойност. Използваният за това синтаксис е:

>>> диапазон(край)

Така че в примера, даден по -долу, ще използваме 3 като крайна стойност на диапазона. Когато го отпечатаме, той връща стойностите, с изключение на крайната стойност.

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

>>> диапазон (започнете,край)

Така че, ние определяме началната точка и след това крайната точка, която е съответно 1 и 10.

Сега, в следващия пример, ще имаме стъпковата функция. Функцията, която определя пропастта между всякакви две точки в последователността. Стойността ще започне от 0 и ще завърши на 10 (като я изключите). Използваният синтаксис е даден по -долу:

>>> диапазон (започнете,стъпка,край)

Примерът е даден по -долу, където 2 е стойността на стъпката.

Предимства

диапазон ()

По -бързо е, ако итерациите трябва да се правят многократно. range () има само стойности на цели числа в реално време. По отношение на паметта, тя не се изпълнява добре.

xrange ()

Той трябва да пресъздава целочисления обект всеки път. xrange () не е, тъй като не поддържа резени и списъчни методи. xrange () заема същото количество памет. Така че, що се отнася до производителността, особено когато потребителите итерират над по -голям диапазон, xrange () се представя много по -добре.

Прилики между Python 2 и Python 3 range и xrange

Xrange на Python 2 има описателно представяне под формата на низ, което е много подобно на стойността на обекта на обхвата на Python 3.

Стойността на xrange () в Python 2 е повторима, така че rang () в Python 3.

xrange () и range () имат стойности стъпка, край и начална точка. И в двата случая стъпката е поле по избор, както и началната стойност.

И двата xrange на Python 2 и 3 поддържат дължина, която може да бъде индексирана в пряк или обратен ред. Ето пример за същото:

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

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

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

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

Заключение

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