Heim >Backend-Entwicklung >Python-Tutorial >So konvertieren Sie eine Matrix in ein Wörterbuch in Python

So konvertieren Sie eine Matrix in ein Wörterbuch in Python

王林
王林nach vorne
2023-08-28 22:29:06960Durchsuche

So konvertieren Sie eine Matrix in ein Wörterbuch in Python

Eine Matrix wird durch die Anordnung von Zeilen und Spalten zu einem Array definiert. Die Werte der Matrix können Zeichen oder ganze Zahlen sein. Es gibt mehrere Möglichkeiten, eine Matrix in ein Python-Wörterbuch umzuwandeln: Wörterbuchverständnis, for-Schleife, Aufzählung und zip().

Für Schleifen und Wörterbuchabzüge verwenden

Dieses Programm verwendet eine for-Schleife, um mithilfe der Wörterbuchableitung über die Länge einer Matrix zu iterieren. Dies hilft, eine Matrix in ein Wörterbuch umzuwandeln.

Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

Im folgenden Beispiel zeigen wir die Konvertierung der Namenswerte einer Matrix in ein Wörterbuch. Die Namen innerhalb jedes Abschnitts in der Matrix sind mit „Name 1“, „Name 2“ usw. gekennzeichnet, und jeder Abschnitt ist mit „Abschnitt 1“, „Abschnitt 2“ usw. gekennzeichnet. Schließlich wird die resultierende Name-Wert-Matrix in ein Wörterbuch umgewandelt.

def matrix_to_dict(matrix):
   dictionary = {f"Section {i+1}": {f"Name {j+1}": matrix[i][j] for j in range(len(matrix[i]))} for i in range(len(matrix))}
   return dictionary
# Matrix input using List
matrix = [['Raghav', 'Sunil', 'Kiran', 'Rajendra'], ['Pritam', 'Rahul', 'Mehak', 'Suresh'], ['Tom', 'Peter', 'Mark', 'Jessy']]
result = matrix_to_dict(matrix)
print(result)

Ausgabe

{'Section 1': {'Name 1': 'Raghav', 'Name 2': 'Sunil', 'Name 3': 'Kiran', 'Name 4': 'Rajendra'}, 
'Section 2': {'Name 1': 'Pritam', 'Name 2': 'Rahul', 'Name 3': 'Mehak', 'Name 4': 'Suresh'}, 
'Section 3': {'Name 1': 'Tom', 'Name 2': 'Peter', 'Name 3': 'Mark', 'Name 4': 'Jessy'}}

Verwenden Sie verschachtelte for-Schleifen

Dieses Programm verwendet verschachtelte for-Schleifen, iteriert über die Länge von Zeilen und Spalten und gibt die Ergebnisse als Wörterbuchdaten zurück (wobei Zeilen als Schlüssel und Spalten als Werte festgelegt werden).

Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

Im folgenden Beispiel wandelt das Programm eine Matrix in ein Wörterbuch um. Es erstellt verschachtelte Wörterbücher durch Wiederholen von Zeilen und Spalten. Jede Matrixkomponente hat eine Bezeichnung wie „Zeile, Spalte“ und ist mit dem passenden Wert verbunden. Matrixdaten werden durch ein Wörterbuch als beschriftete Zeilen und Spalten dargestellt.

def matrix_to_dict(matrix):
   dictionary = {}
   for i in range(len(matrix)):
      row_dict = {}
      for j in range(len(matrix[i])):
         row_dict[f"col {j+1}"] = matrix[i][j]
      dictionary[f"row {i+1}"] = row_dict
   return dictionary

# matrix input
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
result = matrix_to_dict(matrix)
print(result)

Ausgabe

{'row 1': {'col 1': 1, 'col 2': 2, 'col 3': 3}, 
'row 2': {'col 1': 4, 'col 2': 5, 'col 3': 6}, 
'row 3': {'col 1': 7, 'col 2': 8, 'col 3': 9}}

Verwenden Sie Aufzählungen und Wörterbuchverständnisse

Programme verwenden Aufzählungen, um die Anzahl der Iterationen in einer Schleife zu verfolgen und auf die Elemente dieser Schleife zuzugreifen. Als nächstes verwenden Sie ein Wörterbuchverständnis, um das Ergebnis der Matrix zu formatieren.

Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

Im folgenden Beispiel beginnt das Programm mit einer rekursiven Funktion, die sich bekanntermaßen selbst aufruft. Unter Verwendung der Wörterbuchableitungstechnik wird es mithilfe der integrierten Methode enumerate() in der Variablen dict gespeichert. Dann gibt die -Variable dict zurück, um die neue Transformation des Wörterbuchs zu erhalten. Erstellen Sie nun eine Unterliste, die die Matrix darstellt, und speichern Sie sie in der Variablenmatrix. Verwenden Sie dann eine aufrufende Funktion, die einen Parameter namens „matrix“ akzeptiert, um seinen Wert zu übergeben und ihn in der Variablen „result“ zu speichern. Abschließend drucken wir die Ausgabe mit Hilfe von result aus.

def matrix_to_dict(matrix):
   dict = {f"row {i+1}": {f"column {j+1}": value for j, value in enumerate(row)} for i, row in enumerate(matrix)}
   return dict
# Input of Matrix
matrix = [[11, 12, 13], [40, 50, 60], [17, 18, 19],[80, 90, 100]]
# Pass the value of the matrix using the recursive function
result = matrix_to_dict(matrix)
print(result)

Ausgabe

{'row 1': {'column 1': 11, 'column 2': 12, 'column 3': 13}, 
'row 2': {'column 1': 40, 'column 2': 50, 'column 3': 60}, 
'row 3': {'column 1': 17, 'column 2': 18, 'column 3': 19}, 
'row 4': {'column 1': 80, 'column 2': 90, 'column 3': 100}}

Verwenden Sie zip() und Wörterbuchverständnis

Dieses Programm verwendet die Funktion zip(), um ein verschachteltes Wörterbuch auf einen Wert zu setzen und setzt die Daten im Schlüssel mithilfe von Wörterbuchverständnissen {}.

Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

Im folgenden Beispiel verwenden wir eine rekursive Funktion namens matrix_to_dict fun, die einen Parameter namens Matrix mit Listenwerten akzeptiert. Dann verwendet es ein Listenverständnis, um es in einem variablen Schlüssel zu speichern. Als nächstes wird mithilfe von Verständnistechniken ein Wörterbuch des gegebenen Schlüsselpaars erstellt, nachdem jede Zeile in der Matrix durchlaufen und in einem Variablenwörterbuch gespeichert wurde. Basierend auf dem Zeilenindex wird pro Zeile ein Schlüssel nach dem Muster „SN 1“, „SN 2“ usw. erstellt.

Fahren Sie fort, geben Sie das Wörterbuch zurück, wodurch die Matrix-zu-Wörterbuch-Konvertierung berechnet wird. Erstellen Sie nun einfach eine Matrix mithilfe der Unterliste und speichern Sie sie in der Variablenmatrix. Verwenden Sie dann die aufrufende Funktion, um die Variablenmatrix zu übergeben und sie in der Variablen Ergebnis zu speichern. Abschließend drucken wir die Ausgabe mithilfe variabler Ergebnisse aus.

def matrix_to_dict(matrix):
   keys = [f"Letter {j+1}" for j in range(len(matrix[0]))]
# Each key is generated using different dictionary comprehension
   dictionary = {f"SN {i+1}": {key: value for key, value in zip(keys, row)} for i, row in enumerate(matrix)}
   return dictionary
# Take input as a character matrix using List
matrix = [['A', 'B', 'C'], ['P', 'Q', 'R'], ['X', 'Y', 'Z']]
result = matrix_to_dict(matrix)
print(result)

Ausgabe

{'SN 1': {'Letter 1': 'A', 'Letter 2': 'B', 'Letter 3': 'C'}, 
'SN 2': {'Letter 1': 'P', 'Letter 2': 'Q', 'Letter 3': 'R'}, 
'SN 3': {'Letter 1': 'X', 'Letter 2': 'Y', 'Letter 3': 'Z'}}

Fazit

Wir haben verschiedene Möglichkeiten besprochen, eine Matrix in ein Wörterbuch umzuwandeln. Alle oben genannten Ausgaben zeigen unterschiedliche Wörterbuchdarstellungen mit Ganzzahlen und Zeichen. Insgesamt ermöglicht diese Transformation eine effizientere und flexiblere Darstellung von Daten.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie eine Matrix in ein Wörterbuch in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen