Étant donné une liste de listes, matrix
(ligne j et colonne k, valeur de l'élément) Je peux faire une liste aplatie des valeurs avec la liste -comprehension:créer dict avec les clés des lignes matricielles dans la forme {row: [col, valeur]}
matrix = [['00','01','02'],['10','11','12'],['20','21','22']]
list_1 = [value for (j,row) in enumerate(matrix) for (k,value) in enumerate(row)]
print(list_1)
#output: ['00', '01', '02', '10', '11', '12', '20', '21', '22']
mimant imbriquée pour boucle syntaxe:
list_2 = []
for (j,row) in enumerate(matrix):
for (k,value) in enumerate(row):
list_2.append(value)
Si je voulais un dictionnaire pour les entrées de forme {j: [k, valeur]}, ce qui est l'équivalent dict syntaxe de compréhension, et pourquoi n'utilise pas un travail équivalent bouclés bouclés? par exemple:
list_3 = {j:[k,value] for (j,row) in enumerate(matrix) for (k,value) in enumerate(row)}
#expected output: {0:[0,'00'], 0:[1,'01'], 0:[2,'02']...}
#actual output: {0: [2, '02'], 1: [2, '12'], 2: [2, '22']}
pourquoi utiliser 'enumerate' dans le premier exemple? –
Veuillez fournir un exemple d'entrée et de sortie désirée pour le cas 'dict' –
Essayez' a_list = [{j: [k, valeur]} pour (j, row) dans ...] ' – ksai