首頁 > 後端開發 > Python教學 > 如何在 Python 中有效地將列表劃分為平衡的區塊?

如何在 Python 中有效地將列表劃分為平衡的區塊?

Mary-Kate Olsen
發布: 2024-12-28 19:33:10
原創
396 人瀏覽過

How to Efficiently Divide a List into Balanced Chunks in Python?

如何將列表分成平衡的部分

將列表分割為大小相等的區塊在各種程式設計場景中至關重要。 Python 提供了多種方法來完成此任務,提供了靈活性和效率。一種流行的方法使用生成器函數。

答案中引入的 chunks() 產生器可讓您將清單分割為指定大小的區塊。它以定義的區塊大小為步長迭代列表,產生連續的區塊。以下程式碼示範如何使用 chunks() 產生器:

def chunks(lst, n):
    """Yield successive n-sized chunks from lst."""
    for i in range(0, len(lst), n):
        yield lst[i:i + n]
登入後複製

為了舉例說明其功能,請考慮將整數清單分割為大小為 10的區塊:

import pprint
pprint.pprint(list(chunks(range(10, 75), 10)))
登入後複製

此程式碼產生以下輸出,顯示清單分為均勻大小的區塊:

[[10, 11, 12, 13, 14, 15, 16, 17, 18, 19],
 [20, 21, 22, 23, 24, 25, 26, 27, 28, 29],
 [30, 31, 32, 33, 34, 35, 36, 37, 38, 39],
 [40, 41, 42, 43, 44, 45, 46, 47, 48, 49],
 [50, 51, 52, 53, 54, 55, 56, 57, 58, 59],
 [60, 61, 62, 63, 64, 65, 66, 67, 68, 69],
 [70, 71, 72, 73, 74]]
登入後複製

而建議使用生成器方法,因為它的清晰度和效率,Python 也為清單分塊提供了簡潔的清單理解解決方案:

[lst[i:i + n] for i in range(0, len(lst), n)]
登入後複製

請記住,使用chunks()等命名函數可以增強程式碼的可讀性和可維護性。

以上是如何在 Python 中有效地將列表劃分為平衡的區塊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板