在Python 中交替交錯兩個列表
以交替方式組合兩個列表時,第一個列表比第二個列表多一個元素,Python 提供了多種方法。
一種方法涉及對列表:
list1 = ['f', 'o', 'o'] list2 = ['hello', 'world'] result = [None]*(len(list1)+len(list2)) result[::2] = list1 result[1::2] = list2
此方法建立一個長度等於輸入列表的組合長度的新列表。它將 list1 中的偶數索引值和 list2 中的奇數索引值指派到新清單中,從而產生所需的交錯效果。
或者,您可以使用 itertools 模組中的 zip_longest() 函數:
from itertools import zip_longest result = list(zip_longest(list1, list2, fillvalue=None))
zip_longest() 按元素組合列表,用指定的填充值填充缺失值。由於我們提供 None 作為填充值,因此少一個元素的列表將以 None 值填充,從而實現所需的交錯。透過將 zip_longest() 傳回的生成器轉換為列表,即可獲得最終結果。
以上是如何在Python中交錯兩個長度不等的清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!