Tôi có danh sách tùy ý, ví dụ ở đây là ba danh sách:Danh sách sắp xếp trong Python (transpose)
a = [1,1,1,1]
b = [2,2,2,2]
c = [3,3,3,3]
Và tôi muốn transpose chúng lại với nhau để có được kết quả như thế này:
f_out = [1,2,3]
g_out = [1,2,3]
...
n_out = [1,2,3]
Như bạn có thể thấy, tôi vừa chuyển đổi "cột" thành "hàng".
Vấn đề là giải pháp phải độc lập với độ dài danh sách.
Ví dụ:
a = [1,1]
b = [2]
c = [3,3,3]
# output
f_out = [1,2,3]
g_out = [1,3]
n_out = [3]
Bạn có thể muốn xem xét 'itertools.zip _longest' - Đó là _almost_ những gì bạn muốn, bạn chỉ cần lọc ra phần đệm thừa. – mgilson
@mgilson Cảm ơn bạn! Tôi nghĩ rằng nó có thể giúp tôi :) – Paddy
Đối với bất cứ ai khác chỉ nhìn chằm chằm vào câu hỏi này và tự hỏi mối quan hệ giữa đầu vào và đầu ra là gì, nó xử lý nó gần giống như ma trận transpose. IOW, 'f',' g' và 'h' là kết quả của lớp lót' a', 'b' và' c' theo chiều ngang và đọc từ trên xuống dưới. –