Python xrange vs. range

Python Xrange Vs Range



Fino alla versione 2.x di Python, c'erano un totale di due metodi sottostanti utilizzati in questo linguaggio 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 quindi cambiato in range(). Ora in Python 3, c'è solo una funzione per questo metodo, cioè range(). In Python 3, la funzione range() è solo un altro modo di implementare la versione precedente di xrange() di python 2.x. Qui, metteremo in relazione i due.



Xrange ()

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



Sintassi

La sintassi utilizzata per definire xrange() è:





xrange(cominciare,fine,fare un passo)

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
 Passo: 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 faremo stampare.

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:

Successivamente, creeremo una sequenza di numeri dai nostri punti di inizio e fine, ovvero da 2 a 5.

>>>e= xrange(cominciare,fine)

Infine, verificheremo il metodo per definire il punto iniziale, il passaggio e il punto finale. 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:

>>>Insieme a= xrange(cominciare,fare un passo,fine)

Gamma ()

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

Sintassi

Viene utilizzata la seguente sintassi:

>>> gamma(cominciare,fine,fare un passo)

Esempi

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

>>> gamma(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:

>>> gamma (cominciare,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:

>>> gamma (cominciare,fare un passo,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 slice e 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 iniziale. 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 ordine in avanti o 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 su 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]. È così che possiamo presumere 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.