Wprowadzenie do tablic wielowymiarowych w Pythonie

Często w życiu codziennym mamy problemy, w których musimy przechowywać niektóre dane w prostokątnym formacie tabeli. Tabele te można również nazwać macierzą lub tablicą 2D. W Pythonie tablice wielowymiarowe można osiągnąć, mając listę wewnątrz listy lub listy zagnieżdżone. Lista może służyć do reprezentowania danych w poniższym formacie w Pythonie:

Lista = (1, 2, 3)

Listę można zapisać za pomocą wartości oddzielonych przecinkami. Lista może zawierać takie dane, jak liczba całkowita, liczba zmiennoprzecinkowa, łańcuch itp., A także można ją modyfikować po utworzeniu. Indeksowanie list jest dość proste, a indeks zaczyna się od 0 i rozciąga na całą długość listy-1.

Gdy lista zawiera inne listy jako elementy, tworzy wielowymiarową listę lub tablicę. Na przykład:

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

Tutaj można uzyskać dostęp do każdej wartości listy, pisząc nazwę listy, a następnie nawias kwadratowy, aby pobrać zewnętrzne wartości listy, jak poniżej:

Drukuj (lista (1))

# (2, 5)

Jeśli chcesz przejść dalej na wewnętrznej liście, dodaj jeszcze jeden nawias kwadratowy, aby uzyskać dostęp do jego elementów, jak poniżej:

Drukuj (lista (1) (0))

# 2

Podobnie, jeśli mamy wiele list na liście, takich jak:

List = ((1, 3, 5), (8, 5, 6), (7, 1, 6)) # można również postrzegać jako

| 1, 3, 5 |

| 8, 5, 6 |

| 7, 1, 6 |

Do wszystkich elementów listy można uzyskać dostęp za pomocą poniższych indeksów:

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

Tworzenie listy wielowymiarowej lub tablicy

Załóżmy, że mamy dwie zmienne as, liczbę wierszy „r” i liczbę kolumn „c”. stąd, aby utworzyć macierz o rozmiarze m * n, można wykonać jako:

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

Ten typ deklaracji nie utworzy m * n spacji w pamięci, a utworzona zostanie tylko jedna liczba całkowita, do której odwołuje się każdy element listy wewnętrznej, podczas gdy listy wewnętrzne są umieszczane jako elementy na liście zewnętrznej. Dlatego w takim przypadku, jeśli zmienimy dowolny element na 5, wówczas cała tablica będzie miała 5 jako wartości w każdym miejscu elementu tej samej kolumny, jak poniżej:

Tablica (0) (0) = 5

| 5, 0, 0 |

| 5, 0, 0 |

| 5, 0, 0 |

Innym sposobem zadeklarowania tablicy jest użycie generatora z listą elementów „c” powtórzonych „r” razy. Deklaracja może być wykonana jak poniżej:

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

Tutaj każdy element jest całkowicie niezależny od innych elementów listy. Lista (0) * c jest konstruowana r razy jako nowa lista i tutaj nie ma miejsca kopiowanie referencji.

Jak wprowadzać wartości do tablic wielowymiarowych?

Zakładamy tutaj tablicę 2D z wierszami ri kolumnami c, dla których weźmiemy wartości elementów od użytkownika.

# Użytkownik wprowadzi liczbę wierszy w pierwszym wierszu

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

Iterujące wartości macierzy wielowymiarowej

Aby wykonać iterację przez wszystkie elementy tablicy wielowymiarowej, musimy użyć koncepcji zagnieżdżonej dla pętli, jak poniżej:

# na początku utworzymy tablicę c kolumn i wierszy r

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) ) )

Numpy Multidimensional Arrays

Zobaczmy tablice multimedialne numpy w Pythonie:

Numpy jest predefiniowanym pakietem w pythonie używanym do wykonywania potężnych operacji matematycznych i obsługi N-wymiarowego obiektu tablicowego. Klasa tablicy Numpy jest znana jako „ndarray”, która jest kluczem do tego frameworka. Obiekty z tej klasy są nazywane tablicą numpy. Różnica między listą wielowymiarową a tablicami liczbowymi polega na tym, że tablice liczb liczbowych są jednorodne, tzn. Mogą zawierać tylko liczby całkowite, łańcuchy, liczby zmiennoprzecinkowe itp., A ich rozmiar jest stały. Wielowymiarową listę można łatwo przekonwertować na tablice Numpy, jak poniżej:

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

Tutaj podana lista wielowymiarowa jest rzutowana na tablicę Numpy arr.

Tworzenie tablicy 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

Wynik:

((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))

Dostęp do elementów, wierszy i kolumn Numpy Matrix

Dostęp do każdego elementu tablicy Numpy można uzyskać w taki sam sposób, jak w przypadku listy wielowymiarowej, tj. Nazwa tablicy, po której następują dwa nawiasy kwadratowe, które wskażą indeksowi wiersza i kolumny, że należy wybrać określony element.

Przykład:

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

Wynik:

2)

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

Niektóre właściwości tablicy Numpy

Niektóre podstawowe właściwości tablic Numpy są używane w poniższym programie:

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())

Wynik:
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)) Transpozycja X = ((0 3 6) (1 4 7) (2 5 8))

Wniosek

Wielowymiarowe tablice w Pythonie zapewniają przechowywanie różnego rodzaju danych w jednej tablicy (tj. W przypadku listy wielowymiarowej), przy czym każdy element wewnętrznej tablicy może przechowywać niezależne dane od reszty tablicy o własnej długości, znanej również jako tablica poszarpana, czego nie można osiągnąć w Javie, C i innych językach.

Polecane artykuły

Jest to przewodnik po tablicach wielowymiarowych w Pythonie. Tutaj omawiamy Wprowadzenie do tablic wielowymiarowych w Pythonie, Tworzenie listy wielowymiarowej lub tablicy itp. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. C # Jagged Arrays
  2. Tablice 3D w Javie
  3. Co to jest TensorFlow?
  4. Co to jest NumPy?
  5. Dla pętli w PHP
  6. Tablice 3D w C ++
  7. Tablice w PHP
  8. Jak działają tablice i listy w Pythonie?
  9. Jak działa tablica w Uniksie ze składnią?