Czuję, że spędzam dużo czasu na pisaniu kodu w Pythonie, ale nie starcza czasu na tworzenie kodu Python. Ostatnio natknąłem się na zabawny mały problem, który moim zdaniem może mieć łatwe, idiomatyczne rozwiązanie. Parafrazując oryginał, potrzebowałem zebrać każdą kolejną parę na liście. Na przykład, biorąc pod uwagę listę [1,2,3,4,5,6]
, chciałem obliczyć [(1,2),(3,4),(5,6)]
.Python "Każdy inny element" Idiom
Wpadłem na szybkie rozwiązanie w czasie, które wyglądało jak przetłumaczona Java. Wracając do pytania, co mogłem zrobić, to
l = [1,2,3,4,5,6]
[(l[2*x],l[2*x+1]) for x in range(len(l)/2)]
która ma efekt uboczny rzucając się ostatni numer w przypadku, gdy długość nie jest równa.
Czy istnieje bardziej idiomatyczne podejście, którego mi brakuje, czy jest to najlepsze, co dostanę?
związanych z „Co to jest najbardziej«pythonic»sposobem iteracyjne nad listy w kawałki?” http://stackoverflow.com/questions/434287/what-is-to-most-pythonic-way-to-iterate-over-a-list-in-chunks – jfs