Питхон кранге вс ранге

Python Xrange Vs Range



До Питхон верзије 2.к, постојале су укупно две основне методе коришћене у овом језику за генерисање листе целих бројева унутар наведеног опсега. Доле су наведене две методе:

домет ()
кранге ()







Од најновије верзије Питхон -а (3 па надаље), ранге () је повучен, а кранге () је затим промењен у ранге (). Сада у Питхону 3 постоји само једна функција за ову методу, тј. Ранге (). У Питхону 3, функција ранге () је само још један начин имплементације старије верзије кранге () питхона 2.к. Овде ћемо повезати ово двоје.



Ксранге ()

Ксранге () се користи за креирање нумеричког низа попут функције ранге ().



Синтакса

Синтакса која се користи за дефинисање кранге () је:





кранге(почетак,крај,Корак)

Ова функција се користи за дефинисање опсега бројева од (укључено је) до краја (није укључено).

Параметри

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



& емсп; Старт: Почетна позиција нумеричког низа
& емсп; Крај: Крајња позиција нумеричког низа
& емсп; Корак: Разлика између два узастопна броја у низу.

Примери

У следећем примеру проверићемо начине дефинисања кранге -а.

Овде ћемо навести само крајњу позицију.

Дакле, крајња вредност је постављена на 5, а затим ћемо одштампати крајњу позицију, као што је приказано испод:

Сада ћемо видети метод позива распона, синтакса за крај позива ће бити:

>>>Икс= кранге(крај)

Онда ћемо то одштампати.

Добићемо опсег у излазу, као што је приказано горе.

Сада ћемо дефинисати почетну и крајњу тачку. Овде је почетна тачка 2, а завршна тачка 5. Затим смо одштампали почетну и завршну позицију, као што је приказано испод:

Након тога ћемо креирати низ бројева од наше почетне и завршне тачке, тј. 2 до 5.

>>>и= кранге(почетак,крај)

На крају ћемо проверити метод дефинисања почетне тачке, корака и завршне тачке. Када дефинишемо сва три параметра; ми ћемо их звати слично доле приказаној методи:

Сада, да позовемо кранге за ова три параметра, користићемо следећу синтаксу:

>>>Витх= кранге(почетак,Корак,крај)

Домет ()

Ранге () се користи за креирање листе и бржа је функција за више понављања.

Синтакса

Користи се следећа синтакса:

>>> домет(почетак,крај,Корак)

Примери

У првом случају дефинисаћемо крајњу вредност. Синтакса која се користи за ово је:

>>> домет(крај)

Дакле, у доњем примеру, користићемо 3 као крајњу вредност опсега. Када га одштампамо, он враћа вредности, искључујући крајњу вредност.

У следећем примеру користимо пример описа почетне и завршне тачке. Вредност ће почети од 1 и завршити са 10 (изузимањем). Почетна тачка је укључена, али крајња тачка је изостављена. Синтакса је слична оној датој испод:

>>> домет (почетак,крај)

Дакле, дефинишемо почетну тачку, а затим крајњу тачку, која је 1, односно 10.

Сада, у следећем примеру, имаћемо функцију степ. Функција која дефинише јаз између било које две тачке у низу. Вредност ће почети од 0 и завршити на 10 (искључивањем). Употребљена синтакса дата је испод:

>>> домет (почетак,Корак,крај)

Пример је дат испод, где је 2 вредност корака.

Предности

домет ()

Брже је ако се итерације раде више пута. ранге () има само вредности целог броја у реалном времену. Што се тиче меморије, не ради добро.

кранге ()

Сваки пут мора поново створити целобројни објекат. кранге () није јер не подржава исечке и методе листе. кранге () заузима исту количину меморије. Дакле, што се перформанси тиче, посебно када корисници понављају преко већег опсега, кранге () ради много боље.

Сличности између Питхон 2 и Питхон 3 опсега и кранге -а

Питхон 2 кранге има описни приказ у облику низа, који је врло сличан вредности објекта распона Питхон 3.

Вредност кранге () у Питхону 2 је поновљива, па се ранг () у Питхону 3.

кранге () и ранге () имају вредности корака, краја и почетне тачке. У оба случаја, корак је опционално поље, па је и почетна вредност.

И кранге Питхон 2 и 3 подржавају дужину која се може индексирати у напредном или обрнутом редоследу. Ево примера истог:

Различитости између ранге () и кранге ()

Пошто кранге () процењује само објекат генератора са вредностима потребним за лењу процену, брже се имплементира преко опсега (). ранге () помаже враћању листе и има све објекте који се могу користити, док кранге () враћа објекте повезане са листом и не може се применити на њих, тако да то можемо рачунати као недостатак.

Променљива која се користи у функцији ранге () складишти вредност распона и стога заузима пуно меморије у поређењу са кранге () која заузима само део меморије због променљивих. ранге () враћа објекат опсега, док кранге () враћа објекат генератора.

Функција ранге (1, 7, 2) ће вратити излаз [1, 3, 5], а улазни кранге (1, 7, 2) ће произвести излаз [1, 3, 5]. Тако можемо претпоставити да су слични по обрасцу.

Закључак

ранге () и кранге () имају различите карактеристике, као што је горе разматрано. Сва поређења поменута у овом водичу, заједно са примерима, биће од помоћи читаоцима да на основу својих захтева боље изаберу методу коју преферирају.