Un rinfrescante aggiornamento sulle tuple di Python

Nei miei precedenti refreshers, ai quali è possibile accedere dai collegamenti di navigazione della serie all'inizio di questo articolo, ho parlato di due importanti concetti Python che devi cogliere per andare avanti nel tuo viaggio di apprendimento in Python. 

Questo tutorial è una continuazione della serie di aggiornamento Python, e oggi parlerò di Le tuple.In questo modo avrai tre concetti importanti in tasca e sarai pronto per approfondire il linguaggio Python.

Quindi, andiamo avanti e passiamo direttamente a questo interessante argomento di Le tuple.

Che dire di tuple?

Se hai capito elenchi, Le tuple saranno molto semplici da comprendere, perché sono simili agli elenchi tranne che per due principali differenze: 

  1. Le tuple sono immutabili, quindi una volta creata una tupla, non è possibile cambiarne il contenuto o le dimensioni, a meno che non si faccia una copia di quella tupla.
  2. Sono scritti tra parentesi () piuttosto che tra parentesi quadre []

Quindi, come puoi intuire, Tuples consiste in un insieme di oggetti ordinati che possono essere di qualsiasi tipo (ad esempio stringhe, elenchi, dizionari, tuple, ecc.) E sono accessibili da un indice (offset), a differenza dei dizionari in cui gli oggetti sono accessibili da chiave. È importante notare qui che il negozio Tuples Riferimenti agli oggetti che contengono.

Prima di passare ad alcune operazioni Tuple, vediamo come appare una semplice tupla:

tup = (1)

Questa è una semplice tupla che contiene un elemento, un valore intero. L'output di questa tupla sarà 1.

Un altro esempio di una Tupla con tre elementi di diversi tipi di oggetti è il seguente:

tup = (31, 'abder', 4.0)

L'output per l'istruzione precedente è:

(31, "abder", 4.0)

Puoi anche scrivere la tupla sopra senza parentesi come segue:

tup = 31, 'abder', 4.0

Molto flessibile, no??

Come ultimo esempio, vediamo come apparirebbe una tupla annidata:

nested_tuple = ('ID', ('abder', 1234))

Operazioni di tupla

Passiamo ora ad alcune operazioni Tuple.

Concatenazione

La concatenazione è la combinazione di Tuples insieme. Dì che abbiamo le seguenti due tuple:

tuple1 = (1,2,3,4,5)

tuple2 = (6,7,8,9,10)

In modo da concatenare TUPLE1 e tuple2, digitiamo semplicemente:

tup = tuple1 + tuple2

Si noti che abbiamo usato il + operatore per eseguire la concatenazione. Ciò comporterà il seguente risultato:

(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

Ripetizione

La ripetizione della tupla viene semplicemente eseguita usando il * operatore. Se vogliamo ripetere TUPLE1 tre volte, facciamo quanto segue:

tuple1 * 3

Il risultato di questa affermazione è:

(1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5)

membri

Per verificare l'appartenenza a qualche elemento nella tupla, usiamo nel, come segue:

7 in tuple1

Questo tornerà falso da 7 non appartiene a TUPLE1.

Ricerca

Per indicare dove si trova un oggetto nella tupla, usiamo indice. Ad esempio, se vogliamo trovare la posizione dell'oggetto 5 nel TUPLE1, facciamo quanto segue:

tuple1.index (5)

In questo caso, il valore restituito sarà 4, qual è la posizione dell'oggetto 5.

Contare

Una bella operazione in Tuples conta il numero di volte in cui un elemento esiste nella tupla. Supponiamo di avere la seguente tupla:

tuple3 = (65,67,5,67,34,76,67,231,98,67)

Se vogliamo vedere quante volte 67 esiste in tuple3, facciamo semplicemente quanto segue:

tuple3.count (67)

Il risultato per questa affermazione dovrebbe essere 4 volte.

indicizzazione

L'indicizzazione è il processo di accesso a un elemento Tuple per indice (pedice). Se vogliamo accedere al quinto indice in tuple3, facciamo quanto segue:

tuple3 [4]

che tornerà 34.

Un indice può anche essere negativo, ovvero il conteggio inizierà dal destra della tupla. Quindi, il risultato di tuples3 [-6] sarà 34, a condizione che la gamma degli indici negativi in tuples3 è [-1, -10]

Cosa succede se hai scelto un indice fuori da questo intervallo? Piace tuples3 [-11] per esempio? Questo è ciò che otterresti in questo caso:

Traceback (ultima chiamata più recente):

  File "tuple.py", riga 2, in

    stampa tuple3 [-11]

IndexError: tuple index out of range

Si noti che gli indici negativi iniziano da -1. Quindi, se hai digitato l'indice come -0, questo è lo stesso dell'indice 0. così, tuples3 [-0] tornerà 65.

Affettare

diversamente da indicizzazione, come risultato ci fornisce un elemento, affettare ci fornisce una sequenza di elementi. Un esempio di slicing è la seguente dichiarazione:

tuples3 [2: 5]

L'output di questa affermazione potrebbe sembrare confuso all'inizio:

(5, 67, 34)

Notare che 76 non è incluso, anche se in realtà è in indice 5. Questo perché affettare il inizio l'indice è sempre incluso, e il fine l'indice è escluso, cioè, fine - 1.

Un altro esempio di tuple è il seguente:

tuples3 [: 4]

L'output della dichiarazione sarebbe il seguente:

(65, 67, 5, 67)

Ora, questo è un piccolo quiz per te. Qual è l'output della seguente dichiarazione?

tuples3 [4:]

Conclusione

Puoi trovare maggiori informazioni su Tuples dalla documentazione di Python. Come si può notare, anche se Tuples funziona in modo simile agli elenchi, non hanno tanti metodi quanti elenchi, poiché Tuples, come detto sopra, sono immutabili, cioè il contenuto della Tupla non può essere modificato.