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 -
- C # Jagged Arrays
- Tablice 3D w Javie
- Co to jest TensorFlow?
- Co to jest NumPy?
- Dla pętli w PHP
- Tablice 3D w C ++
- Tablice w PHP
- Jak działają tablice i listy w Pythonie?
- Jak działa tablica w Uniksie ze składnią?