優雅的區塊:按組迭代列表
以特定大小的區塊迭代列表可能是 Python 程式設計中的常見任務。如果清單包含要在預先定義群組中處理的元素,典型的方法可能類似於提供的程式碼:
雖然這種方法可以滿足功能要求,但它可能會讓人感覺相當笨重且不符合Python 風格。本文深入研究了使用自訂生成器函數的更優雅和慣用的解決方案:
這個生成器函數,chunker,優雅地將輸入序列分割成指定大小的區塊,提供了一種簡化的迭代方式他們。 chunker 中的生成器表達式會產生每個區塊,從序列的開頭開始並按區塊大小前進,直到到達或超過序列的末端。
以下範例示範了chunker 函數的多功能性:
輸出:
此範例將文字字串分成7 個字元的群組每個。同樣,它可以用於任何類型的序列,包括動物列表甚至任意資料結構。
在Python 3.12 及更高版本中,可以使用itertools.tee() 函數進一步簡化chunker 函數:
該函數的這種變體避免了創建中間列表並直接對輸入序列進行操作,突出了Python 內建函數在處理可迭代。
以上是如何在 Python 中以特定大小的區塊優雅地迭代列表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!