Python xrange pret diapazonu

Python Xrange Vs Range



Līdz Python versijai 2.x šajā valodā kopā tika izmantotas divas pamatā esošas metodes, lai ģenerētu veselu skaitļu sarakstu noteiktā diapazonā. Abas metodes ir uzskaitītas zemāk:

diapazons ()
xrange ()







Virzoties uz priekšu, ar jaunāko Python versiju (no 3), diapazons () tika atsaukts, un pēc tam xrange () tika mainīts uz diapazonu (). Tagad programmā Python 3 šai metodei ir tikai viena funkcija, ti, diapazons (). Programmā Python 3 diapazona () funkcija ir tikai vēl viens veids, kā ieviest python 2.x xrange () vecāko versiju. Šeit mēs saistīsim abus.



Xrange ()

Xrange () tiek izmantots, lai izveidotu skaitļu secību, piemēram, funkciju range ().



Sintakse

Xrange () definēšanai izmantotā sintakse ir šāda:





xrange(sākt,beigas,solis)

Funkciju izmanto, lai definētu skaitļu diapazonu, sākot no (iekļauts) līdz beigām (nav iekļauts).

Parametri

Tālāk ir sniegts nepieciešamo parametru saraksts:



& emsp; Sākt: Ciparu secības sākuma pozīcija
& emsp; Beigas: skaitļu secības beigu pozīcija
& emsp; Solis: atšķirība starp diviem sērijas secīgiem skaitļiem.

Piemēri

Šajā piemērā mēs pārbaudīsim xrange definēšanas veidus.

Šeit mēs norādīsim tikai beigu pozīciju.

Tātad, beigu vērtība tiek iestatīta kā 5, un pēc tam mēs izdrukājam gala pozīciju, kā parādīts zemāk:

Tagad mēs redzēsim diapazona izsaukšanas metodi, zvana beigu sintakse būs šāda:

>>>x= xrange(beigas)

Tad mēs to izdrukāsim.

Mēs iegūsim produkcijas diapazonu, kā parādīts iepriekš.

Tagad mēs definēsim gan sākuma, gan beigu punktu. Šeit sākuma punkts ir 2, bet beigu punkts ir 5. Pēc tam mēs izdrukājām sākuma un beigu pozīcijas, kā parādīts zemāk:

Pēc tam mēs izveidosim skaitļu secību no sākuma un beigu punkta, ti, no 2 līdz 5.

>>>un= xrange(sākt,beigas)

Visbeidzot, mēs pārbaudīsim sākuma punkta, soļa un beigu punkta definēšanas metodi. Kad esam definējuši visus trīs parametrus; mēs tos sauksim līdzīgi zemāk parādītajai metodei:

Tagad, lai izsauktu xrange šiem trim parametriem, mēs izmantosim šādu sintaksi:

>>>Ar= xrange(sākt,solis,beigas)

Diapazons ()

Diapazons () tiek izmantots, lai izveidotu sarakstu, un tā ir ātrāka funkcija vairākām iterācijām.

Sintakse

Tiek izmantota šāda sintakse:

>>> diapazons(sākt,beigas,solis)

Piemēri

Pirmajā gadījumā mēs definēsim gala vērtību. Tam izmantotā sintakse:

>>> diapazons(beigas)

Tātad tālāk sniegtajā piemērā mēs izmantosim 3 kā diapazona beigu vērtību. Kad mēs to izdrukājam, tas atgriež vērtības, izņemot gala vērtību.

Nākamajā piemērā mēs izmantojam sākuma un beigu punkta aprakstīšanas piemēru. Vērtība sākas no 1 un beidzas ar 10 (izslēdzot to). Sākuma punkts ir iekļauts, bet beigu punkts tiek izlaists. Sintakse ir līdzīga zemāk norādītajai:

>>> diapazons (sākt,beigas)

Tātad, mēs definējam sākuma punktu un pēc tam beigu punktu, kas ir attiecīgi 1 un 10.

Tagad nākamajā piemērā mums būs solis. Funkcija, kas nosaka atstarpi starp jebkuriem diviem secības punktiem. Vērtība sākas no 0 un beidzas ar 10 (izslēdzot to). Izmantotā sintakse ir parādīta zemāk:

>>> diapazons (sākt,solis,beigas)

Tālāk ir sniegts piemērs, kur 2 ir soļa vērtība.

Priekšrocības

diapazons ()

Tas ir ātrāk, ja atkārtojumi jāveic vairākas reizes. diapazonam () ir tikai reāllaika veselu skaitļu objekta vērtības. Atmiņas ziņā tas nedarbojas labi.

xrange ()

Tam katru reizi ir jāatjauno vesels skaitlis. xrange () nav, jo tas neatbalsta šķēles un saraksta metodes. xrange () aizņem tikpat daudz atmiņas. Tātad, ciktāl tas attiecas uz veiktspēju, it īpaši, ja lietotāji atkārto lielāku diapazona vērtību, xrange () darbojas daudz labāk.

Līdzības starp Python 2 un Python 3 diapazonu un xrange

Python 2 xrange ir aprakstošs attēlojums virknes formā, kas ir ļoti līdzīgs Python 3 diapazona objekta vērtībai.

Xrange () vērtība programmā Python 2 ir atkārtojama, tāpēc Python 3 tiek zvanīta ().

xrange () un range () ir solis, beigas un sākuma punkts. Abos gadījumos solis ir izvēles lauks, tāpat kā sākuma vērtība.

Gan Python 2, gan 3 xrange atbalsta garumu, ko var indeksēt uz priekšu vai apgrieztā secībā. Šeit ir piemērs tam pašam:

Diapazona () un xrange () atšķirības

Tā kā xrange () novērtē tikai ģeneratora objektu ar vērtībām, kas nepieciešamas slinkajam novērtējumam, to ir ātrāk īstenot diapazonā (). diapazons () palīdz atgriezt sarakstu, un tajā ir visi izmantojamie objekti, turpretī xrange () atgriež ar sarakstu saistītos objektus un tos nevar attiecināt uz tiem, lai mēs to varētu uzskatīt par trūkumu.

Funkcijā range () izmantotais mainīgais saglabā diapazona vērtību un tādējādi aizņem daudz atmiņas, salīdzinot ar xrange (), kas mainīgo dēļ aizņem tikai daļu atmiņas. diapazons () atgriež diapazona objektu, savukārt xrange () atgriež ģeneratora objektu.

Diapazona (1, 7, 2) funkcija atgriezīs izvadi [1, 3, 5], un ievades xrange (1, 7, 2) radīs izvadi [1, 3, 5]. Tā mēs varam pieņemt, ka tie pēc modeļa ir līdzīgi.

Secinājums

diapazonam () un xrange () ir dažādas īpašības, kā aprakstīts iepriekš. Visi šajā apmācībā minētie salīdzinājumi kopā ar piemēriem palīdzēs lasītājiem labāk izvēlēties vēlamo metodi, pamatojoties uz viņu prasībām.