„Python“

„Python Xrange vs. diapazonas

„Python Xrange vs. diapazonas
Iki 2 „Python“ versijos.x, iš viso šioje kalboje buvo naudojami du pagrindiniai metodai, skirti generuoti sveikųjų skaičių sąrašą nurodytame diapazone. Šie du metodai yra išvardyti toliau:

diapazonas ()
xrange ()

Judant į priekį, naudojant naujausią „Python“ versiją (nuo 3), diapazonas () buvo panaikintas, o „xrange“ () buvo pakeistas į diapazoną (). Dabar „Python 3“ yra tik viena šio metodo funkcija, t.e., diapazonas (). „Python 3“ funkcija diapazonas () yra tik dar vienas būdas įgyvendinti senesnę „Python 2“ xrange () versiją.x. Čia mes susiesime abu.

Xrange ()

„Xrange“ () naudojamas sukurti skaičių seką, pvz., „Range ()“ funkciją.

Sintaksė

Sintaksė, naudojama apibrėžiant xrange (), yra:

xrange (pradžia, pabaiga, žingsnis)

Funkcija naudojama apibrėžti skaičių diapazoną nuo (yra įtraukta) iki pabaigos (neįtraukta).

Parametrai

Toliau pateikiamas reikalingų parametrų sąrašas:

Pradžia: skaičių sekos pradinė padėtis
Pabaiga: skaičių sekos pabaiga
Žingsnis: Skirtumas tarp dviejų iš eilės einančių skaičių.

Pavyzdžiai

Šiame pavyzdyje mes patikrinsime xrange apibrėžimo būdus.

Čia mes nurodysime tik galutinę padėtį.

Taigi, galutinė vertė yra nustatyta kaip 5, o tada mes atspausdiname galutinę padėtį, kaip parodyta žemiau:

Dabar pamatysime skambučių diapazono metodą, skambučio pabaigos sintaksė bus:

>>> x = x diapazonas (pabaiga)

Tada mes jį atspausdinsime.

Mes gausime išvesties diapazoną, kaip parodyta aukščiau.

Dabar mes apibrėžsime pradinius ir galutinius taškus. Čia pradinis taškas yra 2, o pabaigos taškas yra 5. Tada atspausdinome pradinę ir galinę pozicijas, kaip parodyta žemiau:

Po to mes sukursime skaičių seką iš savo pradžios ir pabaigos taškų, t.e., Nuo 2 iki 5.

>>> y = xrange (pradžia, pabaiga)

Galiausiai patikrinsime pradinio taško, žingsnio ir pabaigos taško apibrėžimo metodą. Kai mes nustatysime visus tris parametrus; mes juos vadinsime panašiais į toliau pateiktą metodą:

Dabar, norėdami iškviesti šių trijų parametrų xrange, naudosime šią sintaksę:

>>> z = xrange (pradžia, žingsnis, pabaiga)

Diapazonas ()

Diapazonas () naudojamas kuriant sąrašą ir yra greitesnė kelių kartojimų funkcija.

Sintaksė

Naudojama ši sintaksė:

>>> diapazonas (pradžia, pabaiga, žingsnis)

Pavyzdžiai

Pirmuoju atveju mes apibrėžsime galutinę vertę. Tam naudojama sintaksė yra:

>>> diapazonas (pabaiga)

Taigi toliau pateiktame pavyzdyje mes naudosime 3 kaip diapazono galutinę vertę. Kai mes jį atspausdinsime, jis grąžins reikšmes, išskyrus galutinę vertę.

Tolesniame pavyzdyje mes naudojame pradžios ir pabaigos taško aprašymo pavyzdį. Vertė prasidės nuo 1 ir baigsis 10 (ją neįtraukiant). Pradinis taškas yra įtrauktas, tačiau pabaigos taškas praleidžiamas. Sintaksė yra panaši į pateiktą žemiau:

>>> diapazonas (pradžia, pabaiga)

Taigi, mes apibrėžiame pradinį tašką ir tada galinį tašką, kuris yra atitinkamai 1 ir 10.

Dabar kitame pavyzdyje turėsime žingsnio funkciją. Funkcija, apibrėžianti tarpą tarp bet kurių dviejų sekos taškų. Vertė prasidės nuo 0 ir baigsis 10 (ją neįtraukiant). Naudojama sintaksė pateikiama žemiau:

>>> diapazonas (pradžia, žingsnis, pabaiga)

Toliau pateiktas pavyzdys, kur 2 yra žingsnio vertė.

Privalumai

diapazonas ()

Tai yra greičiau, jei kartojimai bus atliekami kelis kartus. range () turi tik viso laiko objekto reikšmes realiuoju laiku. Kalbant apie atmintį, ji nėra gerai vykdoma.

xrange ()

Kiekvieną kartą jis turi atkurti sveikojo skaičiaus objektą. „xrange“) nėra, nes jis nepalaiko griežinėlių ir sąrašų metodų. xrange () užima tiek pat atminties. Taigi, kalbant apie našumą, ypač kai vartotojai kartoja didesnę diapazono vertę, „xrange“) veikia daug geriau.

„Python 2“ ir „Python 3“ diapazonų ir xrange panašumai

„Python 2“ xrange aprašomasis eilutės pavidalas, labai panašus į „Python 3“ diapazono objekto vertę.

„Xrange“ („Python 2“) reikšmė yra kartojama, taigi „Python 3“ yra „rang“ ().

xrange () ir range () turi žingsnio, pabaigos ir pradinio taško reikšmes. Abiem atvejais žingsnis yra neprivalomas laukas, taigi ir pradinė vertė.

Tiek „Python 2“, tiek „3“ ilgio palaikymo ilgis, kurį galima indeksuoti pirmyn arba atvirkštine tvarka. Štai to paties pavyzdys:

Diapazono () ir x diapazono () skirtumai

Kadangi „xrange“) vertina tik generatoriaus objektą su vertėmis, reikalingomis tingiam vertinimui, ją greičiau įgyvendinti diapazone (). range () padeda grąžinti sąrašą ir turi visus objektus, kuriuos galima naudoti, o xrange () pateikia objektus, susietus su sąrašu, ir negali būti jiems pritaikyti, kad galėtume jį laikyti trūkumu.

Range () funkcijoje naudojamas kintamasis saugo diapazono vertę ir taip užima daug atminties, palyginti su xrange (), kuris užima tik dalį atminties dėl kintamųjų. range () pateikia diapazono objektą, o xrange () - generatoriaus objektą.

Range (1, 7, 2) funkcija grąžins išvestį [1, 3, 5], o įvesties x diapazonas (1, 7, 2) sukurs išvestį [1, 3, 5]. Štai kaip mes galime manyti, kad jie yra panašūs pagal modelį.

Išvada

diapazonas () ir xrange () turi skirtingas charakteristikas, kaip aptarta aukščiau. Visi šioje pamokoje paminėti palyginimai kartu su pavyzdžiais padės skaitytojams geriau pasirinkti pageidaujamą metodą, atsižvelgiant į jų reikalavimus.

Geriausi žaidimai, kuriuos reikia žaisti naudojant rankos stebėjimą
„Oculus Quest“ neseniai pristatė puikią rankos stebėjimo be valdiklių idėją. „Oculus Quest“ rankų sekimo žaidimai iki šiol buvo ribojami, kai žaidimų ...
Kaip rodyti OSD perdangą viso ekrano „Linux“ programose ir žaidimuose
Žaisdami viso ekrano žaidimus arba naudodamiesi programomis be išsiblaškymo viso ekrano režimu, galite nutraukti nuo susijusios sistemos informacijos,...
5 geriausios žaidimų fiksavimo kortos
Visi mes matėme ir pamėgome srautinius žaidimus „YouTube“. „PewDiePie“, „Jakesepticye“ ir „Markiplier“ yra tik vieni iš geriausių žaidėjų, kurie uždir...