Introducere în Arrayuri multidimensionale în Python

Adesea în viața de zi cu zi, avem probleme în care trebuie să stocăm unele date într-un format de tabel dreptunghiular. Aceste tabele pot fi numite și matrice sau matrice 2D. În Python, Array-urile multidimensionale pot fi realizate având o listă în interiorul listelor sau listele cuibărite. Lista poate fi utilizată pentru a reprezenta datele în formatul de mai jos în python:

Lista = (1, 2, 3)

Lista poate fi scrisă cu valori separate prin virgulă. Lista poate avea date cum ar fi numere întregi, float, string etc. și poate fi modificată și după creare. Indexarea în liste este destul de directă, indexul începând de la 0 și se întinde până la întreaga lungime a listei-1.

Atunci când o listă are alte liste ca elemente, ea formează o listă sau un tablou multidimensional. De exemplu:

Lista = ((1, 2), (2, 5), (5, 1))

Aici se poate accesa fiecare valoare a listei prin scrierea numelui listei, urmată de paranteza pătrată pentru a prelua valorile listei exterioare, ca mai jos:

Tipărire (Listă (1))

# (2, 5)

Dacă doriți să mergeți mai departe în lista interioară, adăugați încă o paranteză pătrată pentru a accesa elementele sale de mai jos:

Tipărire (Listă (1) (0))

# 2

În mod similar, dacă avem mai multe liste în interiorul unei liste precum:

List = ((1, 3, 5), (8, 5, 6), (7, 1, 6)) # se poate vizualiza și ca

| 1, 3, 5 |

| 8, 5, 6 |

| 7, 1, 6 |

Toate elementele listei pot fi accesate prin indicatorii de mai jos:

(0) (0), (0) (1), (0) (2) (1) (0), (1) (1), (1) (2) (2) (0), (2) (1), (2) (2)

Crearea unei liste sau a unui tablou multidimensional

Să presupunem că avem două variabile ca, numărul de rânduri „r” și numărul de coloane „c”. prin urmare, pentru a face o matrice de dimensiune m * n, poate fi făcut ca:

Array = ( (0) * c ) * r ) # with each element value as 0

Acest tip de declarație nu va crea m * n spații în memorie, ci se va crea doar un număr întreg la care face referire fiecare element al listei interioare, în timp ce listele interioare sunt puse ca elemente din lista exterioară. Prin urmare, în acest caz, dacă schimbăm orice element în 5, întregul tablou va avea 5 ca valori în fiecare element al locului aceleiași coloane ca mai jos:

Array (0) (0) = 5

| 5, 0, 0 |

| 5, 0, 0 |

| 5, 0, 0 |

Un alt mod de a declara un Array este folosind un generator cu o listă de elemente „c” repetate de ori „r”. Declarația se poate face după cum urmează:

c = 4
r = 3
Array = ( (0) * c for i in range(r) )

Peste aici fiecare element este complet independent de celelalte elemente ale listei. Lista (0) * c este construită de două ori ca o nouă listă, iar aici nu se întâmplă copierea referințelor.

Cum să introduceți valori în Array-uri multidimensionale?

Aici presupunem un tablou 2D cu r rânduri și coloane c pentru care vom lua valorile elementelor de la utilizator.

# User va introduce numărul de rânduri din prima linie

r = int(input())
arr = () for i in range(r):
arr.append((int(j) for j in input().split()))

Iterarea valorilor unei matrițe multidimensionale

Pentru a itera prin toate elementele tabloului multidimensionale, trebuie să utilizăm cuibul pentru conceptul de buclă, după cum urmează:

# la început vom crea o serie de c coloane și r rânduri

c = 4
r = 3
arr = ((0) * c for i in range(r)) # loop will run for the length of the outer list
for i in range(r):
# loop will run for the length of the inner lists
for j in range(c):
if i < j:
arr(i)(j) = 8
elif i > j:
arr(i)(j) = 4
else:
arr(i)(j) = 7
for r in arr:
print( ' '.join((str(x) for x in r) ) )

Arhiere multidimensionale Numpy

Să vedem matricile multimedia numpy din python:

Numpy este un pachet predefinit în python utilizat pentru a efectua operațiuni matematice puternice și pentru a susține un obiect matricial N-dimensional. Clasa de tablou a lui Numpy este cunoscută sub numele de „ndarray”, care este cheia acestui cadru. Obiectele din această clasă sunt denumite un tablou numpy. Diferența dintre Lista multidimensională și Numpy Arrays este că matricile numpy sunt omogene, adică poate conține doar un număr întreg, șir, float etc., valori și dimensiunea acesteia este fixă. Lista multidimensională poate fi convertită cu ușurință în tablele Numpy, după cum urmează:

import numpy as nmp
arr = nmp.array( ( (1, 0), (6, 4) ) )
print(arr)

Aici, lista multidimensională dată este distribuită în Numpy array arr.

Crearea unui tablou Numpy

import numpy as nmp
X = nmp.array( ( ( 1, 6, 7), ( 5, 9, 2) ) )
print(X) #Array of integers
X = nmp.array( ( ( 1, 6.2, 7), ( 5, 9, 2) ) )
print(X) #Array of floats
X = nmp.array( ( ( 1, 6, 7), ( 5, 9, 2) ), dtype = complex )
print(X) #Array of complex numbers

ieşire:

((1 6 7) (5 9 2)) ((1. 6.2 7.) (5. 9. 2.)) ((1. + 0.j 6. + 0.j 7. + 0.j) (5. + 0.j 9. + 0.j 2. + 0.j))

Accesarea elementelor, rândurilor și coloanelor cu matrice Numpy

Fiecare element al tabloului Numpy poate fi accesat în același mod ca al Listei multidimensionale, adică numele tabloului urmat de două bretele pătrate care vor indica indexului rând și coloană să aleagă un element specific.

Exemplu:

import numpy as nmp
X = nmp.array( ( ( 1, 6, 7),
( 5, 9, 2),
( 3, 8, 4) ) )
print(X(1)(2)) # element at the given index ie 2
print(X(0)) # first row
print(X(1)) # second row
print(X(-1)) # last row
print(X(:, 0)) # first column
print(X(:, 2)) # third column
print(X(:, -1)) # last column

ieşire:

2

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

Unele proprietăți ale Numpy Array

Unele proprietăți de bază ale tablelor Numpy sunt utilizate în programul de mai jos:

import numpy as nmp
zero_array = nmp.zeros( (3, 2) )
print('zero_array = ', zero_array)
one_array = nmp.ones( (3, 2) )
print('one_array = ', one_array)
X = nmp.arange(9).reshape(3, 3)
print('X= ', X)
print('Transpose of X= ', X.transpose())

ieşire:
zero_array = ((0. 0.) (0. 0.) (0. 0.)) one_array = ((1. 1.) (1. 1.) (1. 1.)) X = ((0 1 2) (3 4 5) (6 7 8)) Transpunerea lui X = ((0 3 6) (1 4 7) (2 5 8))

Concluzie

Matricele multidimensionale din Python oferă posibilitatea de a stoca diferite tipuri de date într-un singur tablou (adică în cazul unei liste multidimensionale) cu fiecare element interior, capabil să stocheze date independente din restul tabloului, cu propria lungime cunoscută și sub numele de tablă zimțată., care nu poate fi realizat în Java, C și alte limbi.

Articole recomandate

Acesta este un ghid al Array-urilor multidimensionale din Python. Aici vom discuta Introducerea arăturilor multidimensionale din Python, Crearea unei liste multidimensionale sau Array etc. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. C # Arrayuri zimțate
  2. Arrayuri 3D în Java
  3. Ce este TensorFlow?
  4. Ce este NumPy?
  5. Pentru buclă în PHP
  6. Arrayuri 3D în C ++
  7. Arătări în PHP
  8. Cum funcționează Schițele și Listele în Python?
  9. Cum funcționează Array în Unix cu sintaxa?