我有一個 gif 串列。每個“gif”都是這樣設定的框架物件串列。
gifs = [ [1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 5, 6], ...]
我需要將它們訂購到一個串列串列,其中每個子串列包含第 n 個相應的幀。IE
orderedGifs = [ [1, 1, 1, ...], [2, 2, 2, ...], [3, 3, 3, ...], ...]
我該如何實作這一目標?
謝謝!
uj5u.com熱心網友回復:
正如@enke 在評論中指出的那樣, usinglist(zip(*gifs))可以為您提供換位 - 但它將是一個元組串列。
如果您需要將組作為串列,則可以使用:
orderedGifs = list(map(list, zip(*gifs)))
它之所以有效,是因為:
*gifs解包原始檔案gifs并將其所有內容傳遞給zip()(傳播)zip()將傳遞的每個可迭代的元組中的元素配對,在您的情況下,每個串列的第一個元素,然后是第二個,等等。map(list, xs)從每個元素中獲取xs并應用于list()它,回傳結果的可迭代
因此,將整個內容包裝起來list()需要將元組轉換為串列并根據需要將它們放入串列中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/439271.html
標籤:Python python-3.x 列表 排序
下一篇:將python串列拆分為子串列
