Lorsque je tente itération à travers les colonnes d'une ligne, la colonne ne pas de changement dans une boucle imbriquée:Itérer sur plusieurs colonnes dans une liste des listes en Python
i_rows = 4
i_cols = 3
matrix = [[0 for c in xrange(i_cols)] for r in xrange(i_rows)]
for row, r in enumerate(matrix):
for col, c in enumerate(r):
r[c] = 1
print matrix
sortie Observé
[[1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0]]
sortie prévue
[[1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1]]
J'ai essayé différentes expressions telles que xrange()
et len()
et j'envisage de passer à numpy. Je suis un peu surpris qu'un tableau bidimensionnel en Python ne soit pas aussi intuitif que ma première impression de la langue.
Le but est un tableau à deux dimensions avec des valeurs entières variables, que j'ai besoin d'analyser par la suite pour représenter les graphiques 2D sur l'écran.
Comment puis-je parcourir plusieurs colonnes dans une liste de listes?
Cela fonctionne! Si proche ... J'avais essayé 'row [col]' sans succès. – noumenal
@noumenal Yup, encore une fois la même chose :-) La première valeur est l'indice. Donc 'row [col]' essaie d'inscrire un nombre. C'est pourquoi vous auriez reçu une erreur. Mais, essayez d'utiliser List Comprehension autant que possible. – thefourtheye
Je cherchais les docs sur ce sujet, mais je ne savais pas comment s'appelait le concept. Il semble très flexible et Pythonic. – noumenal