Çok sayıda N boyutlu dizi kullanıyorum ve böyle girintili bir kod yazmak zorunda kaldığım için bir acı çekiyor ve bazı kodların liste anlaşmaları ve satır içi deyimlerle değiştirilebileceğini biliyorum. Örneğin:Döngüler için okuduğunu anlama Python
for x in (0,1,2,3):
for y in (0,1,2,3):
if x < y:
print (x, y, x*y)
ile değiştirilebilir:
print [(x, y, x * y) for x in (0,1,2,3) for y in (0,1,2,3) if x < y]
Ama nasıl böyle başka bir şey yapmak yerine baskı eylemini değiştirebilir:
total = x+y
Yani ne istiyorum yapmak gibi bir şey:
[(total+=x+y) for x in (0,1,2,3) for y in (0,1,2,3) if x < y]
for x in (0,1,2,3):
for y in (0,1,2,3):
if x < y:
total+=x+y
nasıl daha iyi bir editör kullanırsınız, bu sizin için zorlama yapar, çünkü bu sizin asıl sorununuz gibi görünüyor. Benim görüşüme göre, örnek olarak gönderdiğiniz orijinal kod, okunması en kolay olanıdır. Itertools için –