spesso mi ritrovo a fare questo:Python nidificato looping Idiom
for x in range(x_size):
for y in range(y_size):
for z in range(z_size):
pass # do something here
Esiste un modo più conciso per fare questo in Python? Sto pensando a qualcosa lungo le linee di
for x, z, y in ... ? :
Grazie. Ho finito per seguire una strada diversa perché non posso usare itertools, ma, dopo aver esaminato la documentazione per itertools, è esattamente ciò di cui avevo bisogno. – cacti
Vale la pena notare che una delle grandi cose di itertools.product è che non sta creando gli elenchi intermedi, il che comporterebbe un sacco di accodamenti e operazioni di ridimensionamento e memoria dell'array dietro le quinte. Quindi questa versione non è solo elegante, ma anche più veloce e molto più facile sul garbage collector! Se il tuo ciclo annidato occupa molto del tuo runtime quando profilato, vale la pena provare questo approccio. –