首頁 >後端開發 >Python教學 >如何在 Python 中有效地交錯不等長列表?

如何在 Python 中有效地交錯不等長列表?

Linda Hamilton
Linda Hamilton原創
2024-12-08 11:59:11272瀏覽

How Can I Efficiently Interleave Unequal-Length Lists in Python?

不等長列表的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中文網其他相關文章!

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