Einführung in mehrdimensionale Arrays in Python

Häufig haben wir im täglichen Leben Probleme, wenn wir einige Daten in einem rechteckigen Tabellenformat speichern müssen. Diese Tabellen können auch als Matrix oder 2D-Array bezeichnet werden. In Python können mehrdimensionale Arrays erstellt werden, indem eine Liste in der Liste oder verschachtelte Listen vorhanden sind. Die Liste kann verwendet werden, um Daten im folgenden Format in Python darzustellen:

Liste = (1, 2, 3)

Die Liste kann mit durch Kommas getrennten Werten geschrieben werden. Die Liste kann Daten wie Integer, Float, String usw. enthalten und auch nach der Erstellung geändert werden. Die Indizierung in Listen ist ziemlich einfach. Der Index beginnt bei 0 und erstreckt sich über die gesamte Länge von Liste-1.

Wenn eine Liste andere Listen als Elemente enthält, bildet sie eine mehrdimensionale Liste oder ein Array. Beispielsweise:

Liste = ((1, 2), (2, 5), (5, 1))

Hier kann auf jeden Wert der Liste zugegriffen werden, indem der Listenname gefolgt von einer eckigen Klammer geschrieben wird, um die äußeren Listenwerte wie folgt abzurufen:

Drucken (Liste (1))

# (2, 5)

Wenn Sie in der inneren Liste weiter gehen möchten, fügen Sie eine weitere eckige Klammer hinzu, um auf die folgenden Elemente zuzugreifen:

Drucken (Liste (1) (0))

# 2

Ebenso, wenn wir mehrere Listen in einer Liste haben, wie:

Liste = ((1, 3, 5), (8, 5, 6), (7, 1, 6)) # kann auch als angesehen werden

| 1, 3, 5 |

| 8, 5, 6 |

| 7, 1, 6 |

Auf alle Elemente der Liste kann über die folgenden Indizes zugegriffen werden:

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

Erstellen einer mehrdimensionalen Liste oder eines Arrays

Nehmen wir an, wir haben zwei Variablen, nämlich die Anzahl der Zeilen 'r' und die Anzahl der Spalten 'c'. Um also eine Matrix mit der Größe m * n zu erstellen, kann folgendermaßen vorgegangen werden:

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

Diese Art der Deklaration erzeugt keine m * n Leerzeichen im Speicher, sondern es wird nur eine Ganzzahl erzeugt, auf die jedes Element der inneren Liste verweist, während die inneren Listen als Elemente in die äußere Liste aufgenommen werden. Wenn wir in einem solchen Fall ein Element in 5 ändern, hat das gesamte Array 5 als Werte an jeder Elementstelle derselben Spalte wie folgt:

Array (0) (0) = 5

| 5, 0, 0 |

| 5, 0, 0 |

| 5, 0, 0 |

Eine andere Möglichkeit, ein Array zu deklarieren, ist die Verwendung eines Generators mit einer Liste von 'c'-Elementen, die' r'-mal wiederholt werden. Die Deklaration kann wie folgt erfolgen:

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

Hier ist jedes Element völlig unabhängig von den anderen Elementen der Liste. Die Liste (0) * c wird r-mal als neue Liste erstellt, und hier findet kein Kopieren von Referenzen statt.

Wie werden Werte in mehrdimensionale Arrays eingegeben?

Hier nehmen wir ein 2D-Array mit r Zeilen und c Spalten an, für die wir die Werte der Elemente vom Benutzer übernehmen.

# Der Benutzer gibt die Anzahl der Zeilen in der ersten Zeile ein

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

Werte eines mehrdimensionalen Arrays durchlaufen

Um alle Elemente des mehrdimensionalen Arrays durchlaufen zu können, müssen Sie das folgende Konzept für verschachtelte for-Schleifen verwenden:

# Zuerst erstellen wir ein Array von c Spalten und r Zeilen

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

Sehen wir uns die zahlreichen Multimedia-Arrays in Python an:

Numpy ist ein vordefiniertes Paket in Python, das zur Ausführung leistungsfähiger mathematischer Operationen und zur Unterstützung eines N-dimensionalen Array-Objekts verwendet wird. Die Array-Klasse von Numpy ist als "ndarray" bekannt, was der Schlüssel zu diesem Framework ist. Objekte aus dieser Klasse werden als Numpy-Array bezeichnet. Der Unterschied zwischen mehrdimensionalen Listen und Numpy-Arrays besteht darin, dass numpy-Arrays homogen sind, dh, sie können nur Ganzzahlen, Zeichenfolgen, Gleitkommazahlen usw. enthalten, und ihre Größe ist festgelegt. Die mehrdimensionale Liste kann wie folgt einfach in Numpy-Arrays konvertiert werden:

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

Hier wird die angegebene mehrdimensionale Liste in Numpy array arr umgewandelt.

Erstellen eines Numpy-Arrays

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

Ausgabe:

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

Zugriff auf Numpy Matrix-Elemente, -Reihen und -Spalten

Auf jedes Element des Numpy-Arrays kann auf dieselbe Weise zugegriffen werden wie bei der mehrdimensionalen Liste, dh auf den Arraynamen, gefolgt von zwei eckigen Klammern, die den Zeilen- und Spaltenindex anweisen, ein bestimmtes Element auszuwählen.

Beispiel:

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

Ausgabe:

2

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

Einige Eigenschaften von Numpy Array

Einige grundlegende Eigenschaften von Numpy-Arrays werden im folgenden Programm verwendet:

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

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

Fazit

Mehrdimensionale Arrays in Python bieten die Möglichkeit, unterschiedliche Datentypen in einem einzigen Array zu speichern (dh im Fall einer mehrdimensionalen Liste), wobei jedes Element im inneren Array unabhängige Daten vom Rest des Arrays mit seiner eigenen Länge speichern kann, die auch als gezacktes Array bezeichnet werden, was in Java, C und anderen Sprachen nicht möglich ist.

Empfohlene Artikel

Dies ist eine Anleitung zu mehrdimensionalen Arrays in Python. Hier besprechen wir die Einführung in mehrdimensionale Arrays in Python, das Erstellen einer mehrdimensionalen Liste oder eines Arrays usw. Sie können auch unsere anderen Artikel lesen, um mehr zu erfahren.

  1. C # gezackte Arrays
  2. 3D-Arrays in Java
  3. Was ist TensorFlow?
  4. Was ist NumPy?
  5. Für Schleife in PHP
  6. 3D-Arrays in C ++
  7. Arrays in PHP
  8. Wie funktionieren Arrays und Listen in Python?
  9. Wie funktioniert ein Array unter Unix mit Syntax?