Python - Array 2D

Un array bidimensionale è un array all'interno di un array. È un array di array. In questo tipo di array la posizione di un elemento di dati è riferita da due indici invece che da uno. Quindi rappresenta una tabella con righe e dcolonne di dati. Nell'esempio seguente di un array bidimensionale, osservate che ogni elemento dell'array stesso è anche un array.

Considera l'esempio di registrare le temperature 4 volte al giorno, tutti i giorni. Alcune volte lo strumento di registrazione potrebbe essere difettoso e non riusciamo a registrare i dati. Tali dati per 4 giorni possono essere presentati come una matrice bidimensionale come di seguito.

Day 1 - 11 12 5 2 
Day 2 - 15 6 10 
Day 3 - 10 8 12 5 
Day 4 - 12 15 8 6

I dati di cui sopra possono essere rappresentati come una matrice bidimensionale come di seguito.

T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]

Accesso ai valori in una matrice bidimensionale

È possibile accedere agli elementi di dati in due array dimensionali utilizzando due indici. Un indice che fa riferimento alla matrice principale o padre e un altro indice che fa riferimento alla posizione dell'elemento dati nella matrice interna. Se menzioniamo solo un indice, l'intero array interno viene stampato per quella posizione dell'indice. L'esempio seguente illustra come funziona.

from array import *

T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]

print(T[0])

print(T[1][2])

Quando il codice sopra viene eseguito, produce il seguente risultato:

[11, 12, 5, 2]
10

Per stampare l'intero array bidimensionale possiamo usare python for loop come mostrato di seguito. Usiamo la fine della riga per stampare i valori in righe diverse.

from array import *

T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]
for r in T:
    for c in r:
        print(c,end = " ")
    print()

Quando il codice sopra viene eseguito, produce il seguente risultato:

11 12 5 2 
15 6 10 
10 8 12 5 
12 15 8 6

Inserimento di valori in una matrice bidimensionale

Possiamo inserire nuovi elementi di dati in una posizione specifica utilizzando il metodo insert () e specificando l'indice.

Nell'esempio seguente viene inserito un nuovo elemento dati nella posizione indice 2.

from array import *
T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]

T.insert(2, [0,5,11,13,6])

for r in T:
    for c in r:
        print(c,end = " ")
    print()

Quando il codice sopra viene eseguito, produce il seguente risultato:

11 12 5 2 
15 6 10 
0 5 11 13 6 
10 8 12 5 
12 15 8 6

Aggiornamento dei valori in un array bidimensionale

Possiamo aggiornare l'intero array interno o alcuni elementi dati specifici dell'array interno riassegnando i valori utilizzando l'indice dell'array.

from array import *

T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]

T[2] = [11,9]
T[0][3] = 7
for r in T:
    for c in r:
        print(c,end = " ")
    print()

Quando il codice sopra viene eseguito, produce il seguente risultato:

11 12 5 7 
15 6 10 
11 9 
12 15 8 6

Eliminazione dei valori in un array bidimensionale

Possiamo eliminare l'intero array interno o alcuni elementi dati specifici dell'array interno riassegnando i valori utilizzando il metodo del () con index. Ma nel caso in cui sia necessario rimuovere elementi di dati specifici in uno degli array interni, utilizzare il processo di aggiornamento descritto sopra.

from array import *
T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]

del T[3]

for r in T:
    for c in r:
        print(c,end = " ")
    print()

Quando il codice sopra viene eseguito, produce il seguente risultato:

11 12 5 2 
15 6 10 
10 8 12 5