Maison >développement back-end >Tutoriel Python >Comment convertir une matrice en dictionnaire en Python

Comment convertir une matrice en dictionnaire en Python

王林
王林avant
2023-08-28 22:29:06953parcourir

Comment convertir une matrice en dictionnaire en Python

Une matrice est définie en disposant les lignes et les colonnes pour former un tableau. Les valeurs de la matrice peuvent être des caractères ou des entiers. Il existe plusieurs façons de convertir une matrice en dictionnaire Python : compréhension du dictionnaire, boucle for, enumerate et zip().

Utiliser pour les boucles et les déductions du dictionnaire

Ce programme utilise une boucle for pour parcourir la longueur d'une matrice en appliquant la dérivation par dictionnaire. Cela permet de convertir une matrice en dictionnaire.

La traduction chinoise de

Exemple

est :

Exemple

Dans l'exemple ci-dessous, nous montrerons la conversion des valeurs de nom d'une matrice en dictionnaire. Les noms dans chaque section de la matrice sont étiquetés « Nom 1 », « Nom 2 », etc., et chaque section est étiquetée « Section 1 », « Section 2 », etc. Enfin, il convertit la matrice nom-valeur résultante en un dictionnaire.

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)

Sortie

{'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'}}

Utiliser des boucles for imbriquées

Ce programme utilise des boucles for imbriquées, parcourt la longueur des lignes et des colonnes et renvoie les résultats sous forme de données de dictionnaire (en définissant les lignes comme clés et les colonnes comme valeurs).

La traduction chinoise de

Exemple

est :

Exemple

Dans l'exemple ci-dessous, le programme convertit une matrice en dictionnaire. Il crée des dictionnaires imbriqués en répétant des lignes et des colonnes. Chaque composant matriciel a une étiquette telle que « ligne, col » et est connecté à la valeur correspondante. Les données matricielles sont représentées par un dictionnaire sous forme de lignes et de colonnes étiquetées.

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)

Sortie

{'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}}

Utilisez les énumérations et les compréhensions de dictionnaire

Les programmes utilisent des énumérations pour suivre le nombre d'itérations dans une boucle et accéder aux éléments de cette boucle. Ensuite, utilisez une compréhension de dictionnaire pour formater le résultat de la matrice.

La traduction chinoise de

Exemple

est :

Exemple

Dans l'exemple ci-dessous, le programme commence par une fonction récursive connue pour s'appeler elle-même. À l'aide de la technique de dérivation de dictionnaire, il est stocké dans la variable dict à l'aide de la méthode intégrée enumerate(). Puis renvoie la variable dict pour obtenir la nouvelle transformation du dictionnaire. Créez maintenant une sous-liste représentant la matrice et stockez-la dans la matrice variable. Utilisez ensuite une fonction appelante qui accepte un paramètre nommé matrice pour transmettre sa valeur et la stocker dans la variable résultat. Enfin, nous imprimons la sortie à l’aide du résultat.

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)

Sortie

{'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}}

Utilisez zip() et la compréhension du dictionnaire

Ce programme utilise la fonction zip() pour définir un dictionnaire imbriqué sur une valeur et définit les données dans la clé en utilisant les compréhensions de dictionnaire {}.

La traduction chinoise de

Exemple

est :

Exemple

Dans l'exemple ci-dessous, nous utiliserons une fonction récursive appelée matrix_to_dict fun qui accepte un paramètre nommé Matrix avec des valeurs de liste. Ensuite, il utilise une compréhension de liste pour la stocker dans une clé variable. Ensuite, il construit un dictionnaire de la paire de clés donnée grâce à des techniques de compréhension après avoir parcouru chaque ligne de la matrice et l'avoir stocké dans un dictionnaire de variables. En fonction de l'index de ligne, une clé est créée par ligne en utilisant le modèle "SN 1", "SN 2" etc.

Continuez retournez le dictionnaire qui calculera la conversion matrice en dictionnaire. Maintenant, créez simplement une matrice à l’aide d’une sous-liste et stockez-la dans une matrice variable. Utilisez ensuite la fonction appelante pour transmettre la matrice variable et stockez-la dans la variable result. Enfin, nous imprimons la sortie à l’aide de résultats variables.

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)

Sortie

{'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'}}

Conclusion

Nous avons discuté de différentes façons de convertir une matrice en dictionnaire. Toutes les sorties ci-dessus affichent différentes représentations de dictionnaire utilisant des entiers et des caractères. Dans l’ensemble, cette transformation permet une représentation plus efficace et flexible des données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer