ben arka arkaya sütunlar arasında yineleme girişiminde, sütun iç içe geçmiş bir döngü içinde değişiklik yapar:Bıkmadan
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
Gözlemlenen çıkışı
[[1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0]]
Beklenen çıkış
[[1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1]]
xrange()
ve len()
gibi farklı ifadeleri denedim ve numpy'ye geçmeyi düşünüyorum. Python'daki iki boyutlu bir dizinin, dil hakkındaki ilk izlenimim kadar sezgisel olmadığına biraz şaşırdım.
Amaç, daha sonra ekranda 2B grafikleri temsil etmek üzere ayrıştırmak zorunda olduğum değişken tamsayı değerlerine sahip iki boyutlu bir dizidir.
Listeler listesinde sütunlar arasında nasıl yineleyebilirim?
Bu çalışır! O kadar yakın ... Ben [col] 'i başarıyla denedim. – noumenal
@noumenal Yup, yine aynı şey :-) ilk değer dizindir. Yani satır [col] 'bir sayıya abone olmayı dener. Bu yüzden bir hata aldınız. Ancak, List Comprehension'ı mümkün olduğunca kullanmaya çalışın. – thefourtheye
Bu konuda dokümanlar arıyordum, ama konseptin ne arandığını bilmiyordum. Çok esnek ve Pythonic gibi görünüyor. – noumenal