Pitone

Python xrange vs. gamma

Python xrange vs. gamma
Fino alla versione Python 2.x, c'erano un totale di due metodi sottostanti usati in questa lingua per generare l'elenco di numeri interi all'interno di un intervallo fornito. I due metodi sono elencati di seguito:

gamma ()
xrange()

Andando avanti, con l'ultima versione di Python (3 in poi), range() è stato ritirato e xrange() è stato poi cambiato in range(). Ora in Python 3, c'è solo una funzione per questo metodo, cioè.e., gamma (). In Python 3, la funzione range() è solo un altro modo per implementare la versione precedente di xrange() di python 2.X. Qui, metteremo in relazione i due.

Xrange ()

Il xrange() viene utilizzato per creare una sequenza numerica come la funzione range() (.

Sintassi

La sintassi utilizzata per definire xrange() è:

xrange (inizio, fine, passaggio)

La funzione viene utilizzata per definire l'intervallo di numeri a partire da (è incluso) fino alla fine (non è incluso).

Parametri

Di seguito è riportato l'elenco dei parametri richiesti:

Inizio: posizione iniziale della sequenza numerica
Fine: posizione finale della sequenza numerica
Step: La distinzione tra due numeri consecutivi nella serie.

Esempi

Nell'esempio seguente, controlleremo i modi per definire xrange.

Qui, specificheremo solo la posizione finale.

Quindi, il valore finale è impostato su 5, quindi otteniamo la posizione finale stampata, come mostrato di seguito:

Ora vedremo il metodo per chiamare range, la sintassi per chiamare end sarà:

>>> x = xrange(fine)

Poi lo stamperemo.

Otterremo l'intervallo nell'output, come mostrato sopra.

Ora, definiremo sia l'inizio che i punti finali. Qui, il punto iniziale è 2 e il punto finale è 5. Abbiamo quindi stampato le posizioni iniziale e finale, come mostrato di seguito:

Dopo questo, creeremo una sequenza dei numeri dai nostri punti di inizio e fine, i.e., da 2 a 5.

>>> y = xrange(inizio,fine)

Infine, verificheremo il metodo per definire il punto iniziale, il passaggio e il punto finaleending. Una volta definiti tutti e tre i parametri; li chiameremo in modo simile al metodo mostrato di seguito:

Ora, per chiamare xrange per questi tre parametri, utilizzeremo la seguente sintassi:

>>> z = xrange(inizio,passo,fine)

Gamma ()

Range() viene utilizzato per creare un elenco ed è una funzione più veloce per più iterazioni.

Sintassi

Viene utilizzata la seguente sintassi:

>>> intervallo (inizio, fine, passaggio)

Esempi

Per il primo caso, definiremo il valore finale. La sintassi utilizzata per questo è:

>>> intervallo (fine)

Quindi, nell'esempio riportato di seguito, utilizzeremo 3 come valore finale dell'intervallo. Quando lo otteniamo stampato, restituisce i valori, escluso il valore finale.

Nell'esempio successivo, stiamo usando l'esempio della descrizione del punto di inizio e di fine. Il valore inizierà da 1 e terminerà a 10 (escludendolo). Il punto di partenza è incluso, ma il punto di fine è omesso. La sintassi è simile a quella riportata di seguito:

>>> intervallo (inizio, fine)

Quindi, definiamo il punto iniziale e poi il punto finale, che è rispettivamente 1 e 10.

Ora, nell'esempio successivo, avremo la funzione passo. La funzione che definisce lo spazio tra due punti qualsiasi all'interno della sequenza. Il valore inizierà da 0 e terminerà a 10 (escludendolo). La sintassi utilizzata è riportata di seguito:

>>> intervallo (inizio, passaggio, fine)

L'esempio è riportato di seguito, dove 2 è il valore del passo.

Vantaggi

gamma ()

È più veloce se le iterazioni devono essere eseguite più volte. range() ha solo i valori degli oggetti interi in tempo reale. In termini di memoria, non funziona bene.

xrange()

Deve ricreare l'oggetto intero ogni volta. xrange() non lo è poiché non supporta le sezioni e i metodi di elenco. xrange() richiede la stessa quantità di memoria. Quindi, per quanto riguarda le prestazioni, specialmente quando gli utenti stanno iterando su un valore di intervallo più ampio, xrange() funziona molto meglio.

Somiglianze tra la gamma Python 2 e Python 3 e xrange

xrange di Python 2 ha una rappresentazione descrittiva sotto forma di stringa, che è molto simile al valore dell'oggetto range di Python 3.

Il valore di xrange() in Python 2 è iterabile, così come rang() in Python 3.

xrange() e range() hanno entrambi valori di passo, fine e punto di partenza. In entrambi i casi, step è un campo facoltativo, così come il valore iniziale.

Sia xrange di Python 2 che 3 supportano la lunghezza che può essere indicizzata in avanti o in ordine inverso. Ecco un esempio dello stesso:

Dissomiglianze tra range() e xrange()

Poiché xrange() valuta solo l'oggetto generatore con i valori necessari per la valutazione pigra, è più veloce da implementare nel range(). range() aiuta a restituire l'elenco e ha tutti gli oggetti che possono essere utilizzati, mentre xrange() restituisce gli oggetti associati a un elenco e non può essere applicato ad essi in modo da poterlo considerare uno svantaggio.

La variabile utilizzata nella funzione range() memorizza il valore di range e quindi richiede molta memoria rispetto a xrange() che richiede solo parte della memoria a causa delle variabili. range() restituisce un oggetto range mentre, xrange() restituisce un oggetto generatore.

La funzione range (1, 7, 2) restituirà l'output [1, 3, 5] e l'input xrange (1, 7, 2) produrrà l'output [1, 3, 5]. Ecco come possiamo supporre che siano simili nel modello.

Conclusione

range() e xrange() hanno entrambi caratteristiche diverse, come discusso sopra. Tutti i confronti menzionati in questo tutorial, insieme agli esempi, saranno utili ai lettori per scegliere meglio il loro metodo preferito in base alle loro esigenze.

I migliori giochi da giocare con il tracciamento delle mani
Oculus Quest ha recentemente introdotto la grande idea del tracciamento manuale senza controller. Con un numero sempre crescente di giochi e attività ...
Come mostrare l'overlay OSD in app e giochi Linux a schermo intero
Giocare a giochi a schermo intero o utilizzare app in modalità a schermo intero senza distrazioni può tagliarti fuori dalle informazioni di sistema ri...
Le 5 migliori carte di acquisizione del gioco
Abbiamo tutti visto e amato i giochi in streaming su YouTube. PewDiePie, Jakesepticye e Markiplier sono solo alcuni dei migliori giocatori che hanno g...