Python

Python xrange vs. diapazons

Python xrange vs. diapazons
Līdz Python 2. versijai.x, šajā valodā kopumā tika izmantotas divas pamatmetodes, lai ģenerētu veselu skaitļu sarakstu norādītajā diapazonā. Abas metodes ir uzskaitītas turpmāk:

diapazons ()
xrange ()

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

Xrange ()

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

Sintakse

Xrange () definēšanai tiek izmantota sintakse:

xrange (sākums, beigas, solis)

Funkcija tiek izmantota, lai noteiktu skaitļu diapazonu, sākot no (ir iekļauts) līdz beigām (nav iekļauts).

Parametri

Šis ir nepieciešamo parametru saraksts:

Sākums: skaitļu secības sākuma pozīcija
Beigas: ciparu secības beigu pozīcija
Solis: atšķirība starp diviem kārtas numuriem pēc kārtas.

Piemēri

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

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

Tātad gala vērtība ir 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:

>>> x = xrange (beigas)

Tad mēs to izdrukāsim.

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

Tagad mēs definēsim gan sākuma, gan beigu punktus. Šeit sākuma punkts ir 2, un 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 numuru secību no mūsu sākuma un beigu punktiem, t.i.e., 2 līdz 5.

>>> y = xrange (sākums, beigas)

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

Tagad, lai izsauktu šo trīs parametru xrange, mēs izmantosim šādu sintaksi:

>>> z = xrange (sākums, solis, beigas)

Diapazons ()

Diapazons () tiek izmantots saraksta izveidošanai un ir ātrāka funkcija vairākām atkārtojumiem.

Sintakse

Tiek izmantota šāda sintakse:

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

Piemēri

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

>>> diapazons (beigas)

Tātad zemā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 beigu vērtību.

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

>>> diapazons (sākums, 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 soļa funkcija. Funkcija, kas nosaka atstarpi starp jebkuriem diviem secības punktiem. Vērtība sāksies no 0 un beigsies pulksten 10 (to izslēdzot). Izmantotā sintakse ir sniegta zemāk:

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

Piemērs ir sniegts zemāk, kur 2 ir pakāpiena vērtība.

Priekšrocības

diapazons ()

Tas ir ātrāks, ja atkārtojumi jāveic vairākas reizes. diapazonam () ir tikai reālā laika vesela skaitļa objekta vērtības. Atmiņas ziņā tas nav labi izpildāms.

xrange ()

Katru reizi tam ir jāveido vesels skaitlis. xrange () nav, jo tas neatbalsta šķēles un sarakstu metodes. xrange () aizņem tikpat daudz atmiņas. Tātad, ciktāl tas attiecas uz veiktspēju, it īpaši, ja lietotāji atkārtojas lielākā diapazona vērtībā, 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 Python 2 ir atkārtojama, tāpēc Python 3 ir rang ().

xrange () un range () abām ir pakāpiena, beigu un sākuma punkta vērtības. Abos gadījumos solis ir izvēles lauks, tāpat kā sākuma vērtība.

Gan Python 2, gan 3 atbalsta diapazons atbalsta garumu, kuru var indeksēt uz priekšu vai pretēji. Šeit ir tā paša piemērs:

Atšķirības starp diapazonu () un xrange ()

Tā kā xrange () novērtē tikai ģeneratora objektu ar vērtībām, kas nepieciešamas slinkajam novērtējumam, to ir ātrāk ieviest diapazonā (). range () palīdz atgriezt sarakstu un satur visus objektus, kurus var izmantot, savukārt xrange () atgriež objektus, kas saistīti ar sarakstu, un tos nevar izmantot, 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. range () atgriež diapazona objektu, savukārt xrange () atgriež ģeneratora objektu.

Funkcija diapazons (1, 7, 2) atgriezīs izvadi [1, 3, 5] un ieejas x diapazons (1, 7, 2) radīs izvadi [1, 3, 5]. Tā mēs varam pieņemt, ka tie ir līdzīgi pēc parauga.

Secinājums

diapazonam () un xrange () abiem ir atšķirīgas īpašības, kā tika apspriests 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 sev vēlamo metodi, pamatojoties uz viņu prasībām.

SuperTuxKart operētājsistēmai Linux
SuperTuxKart ir lielisks nosaukums, kas paredzēts, lai sniegtu jums Mario Kart pieredzi bez maksas jūsu Linux sistēmā. Tas ir diezgan izaicinoši un ja...
Cīņa par Vesnota apmācību
Cīņa par Vesnotu ir viena no populārākajām atvērtā koda stratēģijas spēlēm, kuru jūs varat spēlēt šajā laikā. Šī spēle ir izstrādāta ne tikai ļoti ilg...
0 A.D. Apmācība
No daudzajām stratēģijas spēlēm 0 A.D. izdodas izcelties kā visaptverošs nosaukums un ļoti dziļa, taktiska spēle, neskatoties uz to, ka tā ir atvērtā ...