mam dowolnych list, na przykład tutaj są trzy listy:Lista sortowania w Pythonie (transpozycji)
a = [1,1,1,1]
b = [2,2,2,2]
c = [3,3,3,3]
I chcę przenieść je ze sobą, aby uzyskać dane wyjściowe tak:
f_out = [1,2,3]
g_out = [1,2,3]
...
n_out = [1,2,3]
Jak widać, właśnie przekonwertowałem "kolumny" na "wiersze".
Kwestia jest rozwiązaniem musi być niezależna od długości list.
Na przykład:
a = [1,1]
b = [2]
c = [3,3,3]
# output
f_out = [1,2,3]
g_out = [1,3]
n_out = [3]
Możesz zajrzeć do 'itertools.zip _longest' - To prawie wszystko, czego chcesz, po prostu trzeba odfiltrować dodatkowe dopełnienie. – mgilson
@mgilson Dziękuję! Myślę, że to mi pomoże :) – Paddy
Dla każdego, kto tylko wpatruje się w to pytanie i zastanawia się, jaki jest związek między danymi wejściowymi a wyjściowymi, traktuje to prawie jak transpozycję macierzy. IOW, 'f',' g' i 'h' wynikają z wykładania" a "," b "i" c "w poziomie i czytania od góry do dołu. –