首頁 >後端開發 >Python教學 >如何在 Python 中轉置列表的列表?

如何在 Python 中轉置列表的列表?

DDD
DDD原創
2024-12-20 02:45:10745瀏覽

How to Transpose a List of Lists in Python?

轉置列表列表

給定一個列表列表,目標是轉置它,反轉行和列。例如,對於輸入:

l = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

所需的輸出為:

r = [[1, 4, 7], [2, 5, 8], [3, 6, 9]]

Python 3 解:

  • 使用zip和map:
list(map(list, zip(*l)))

此解決方案使用 zip 迭代列表的列,並使用 map 將每一列轉換為列表。

  • 使用zip_longest from itertools:
list(map(list, itertools.zip_longest(*l, fillvalue=None)))

此解決方案使用itertools.zip_longest,其工作方式與一個工作方式類似,但fillvalue 參數,用於在列表呈鋸齒狀時填入缺失值。

Python 2解:

map(list, zip(*l))

解釋:

zip 函數建立一個元組迭代器,其中一個元組迭代器,其中一個元組迭代器,其中一個元組迭代器,其中一個元組迭代器,其中一個元組迭代器每個元組代表輸入清單中的一列。透過使用 *l 解壓縮參數列表,zip 並行迭代每一列。然後,map 函數將每個元組轉換為列表,產生所需的轉置列表。

注意:Python 2 的 zip 沒有 fillvalue 參數,因此如果清單是鋸齒狀。

以上是如何在 Python 中轉置列表的列表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn