如何壓縮具有重複值的不同大小的列表
處理不等長列表時,內建的zip() 函數可能會讓你少花錢。最初的問題尋求壓縮清單 A 和 B 的方法,即使 B 較短,也可以根據需要重複其值。
雖然使用循環提供的程式碼可以實現此目的,但使用 itertools 可以提供更簡潔的解決方案。循環。此函數傳回一個迭代器,該迭代器循環遍歷提供的可迭代對象,無限地重複它。
使用itertools.cycle 的解:
from itertools import cycle A = [1,2,3,4,5,6,7,8,9] B = ["A","B","C"] zip_list = zip(A, cycle(B)) if len(A) > len(B) else zip(cycle(A), B)
在這種情況下,如果A 是比B 長,zip_list 會將A 的值與B的重複值配對,確保包含所有元素。如果 B 比 A 長,則過程相反。
itertools.cycle 函數提供了一種便捷的方法來實現這種重複配對,使其成為 Python 中處理不同大小列表的有效解決方案。
以上是如何在 Python 中壓縮具有重複值的不等長度清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!