首頁 >後端開發 >Python教學 >如何用Python方式交錯兩個長度不等的列表?

如何用Python方式交錯兩個長度不等的列表?

Barbara Streisand
Barbara Streisand原創
2024-12-12 16:41:16971瀏覽

How Can I Pythonically Interleave Two Lists of Unequal Lengths?

Python 式的列表交錯

以交替方式組合兩個清單是程式設計中常見的任務。當第一個清單比第二個清單多一個項目時,Python 中有多種方法可以實現這一點。以下是一些 Pythonic 選項:

1。使用切片:

一種方法是使用切片建立一個新列表,將兩個列表中的元素交錯。這可以透過以下步驟完成:

  1. 建立一個長度等於兩個輸入清單長度總和的新清單。
  2. 分配偶數索引元素新清單的元素分配給第一個輸入清單中的項目。
  3. 將新清單的奇數索引元素分配給第二個輸入中的項目

這是一個範例:

list1 = ['f', 'o', 'o']
list2 = ['hello', 'world']
result = [None]*(len(list1)+len(list2))
result[::2] = list1
result[1::2] = list2
print(result)

輸出:

['f', 'hello', 'o', 'world', 'o']

2.使用itertools套件:

Python 的 itertools 套件提供了一個名為 islice 的便捷函數,可用於以指定間隔迭代列表中的元素。以下是如何使用它來交錯兩個清單:

import itertools
list1 = ['f', 'o', 'o']
list2 = ['hello', 'world']
result = list(itertools.chain(*itertools.zip_longest(list1, list2)))
print(result)

輸出:

['f', 'hello', 'o', 'world', 'o']

以上是如何用Python方式交錯兩個長度不等的列表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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