Mi sembra di passare molto tempo a scrivere codice in Python, ma non abbastanza tempo per creare codice Pythonic. Recentemente mi sono imbattuto in un piccolo problema divertente che ho pensato potesse avere una soluzione facile e idiomatica. Parafrasando l'originale, avevo bisogno di raccogliere ogni coppia sequenziale in una lista. Ad esempio, dato l'elenco [1,2,3,4,5,6]
, volevo calcolare [(1,2),(3,4),(5,6)]
.Python "Ogni altro elemento" Idiom
All'epoca ho trovato una soluzione rapida che sembrava tradurre Java. Rivisitare la questione, il meglio che potevo fare era
l = [1,2,3,4,5,6]
[(l[2*x],l[2*x+1]) for x in range(len(l)/2)]
che ha l'effetto collaterale di tirare fuori l'ultimo numero nel caso in cui la lunghezza non è nemmeno.
C'è un approccio più idiomatico che mi manca, o è questo il migliore che otterrò?
correlate "Qual è il più‘divinatorio’modo per iterare su una lista in pezzi?" http://stackoverflow.com/questions/434287/what-is-the-most-pythonic-way-to-iterate-over-a-list-in-chunks – jfs