不等長列表的Pythonic 交織
交織兩個不同長度清單的Pythonic 解決方案比提供的循環更有效率、更優雅方法。透過利用切片,可以透過一行程式碼完成該任務。
考慮以下範例,其中第一個清單比第二個清單多包含一個項目:
list1 = ['f', 'o', 'o'] list2 = ['hello', 'world']
所需的輸出是:
['f', 'hello', 'o', 'world', 'o']
使用切片,這可以實現為如下所示:
result = [None]*(len(list1)+len(list2)) result[::2] = list1 result[1::2] = list2
此方法建立一個新列表result,它有足夠的空間來容納兩個輸入清單中的元素。切片運算子 [::2] 和 [1::2] 將每個其他元素分配給對應的輸入清單。
結果是一個新列表,根據需要交替兩個輸入列表中的元素。這種方法比循環方法更簡潔、更有效率、Pythonic。
以上是如何在 Python 中有效地交錯不等長列表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!