首頁 > 後端開發 > Python教學 > 如何在Python中將列表分成大致相等的部分?

如何在Python中將列表分成大致相等的部分?

Mary-Kate Olsen
發布: 2024-11-14 15:03:02
原創
907 人瀏覽過

How to Divide a List into Approximately Equal Parts in Python?

將列表分成大約相等長度的部分

在Python中,內建函數區塊(在程式碼片段中提供)可以將列表拆解分為指定大小的區塊。但是,如果清單不能被所需的區塊大小整除,則會導致區塊大小不均勻。

要建立大致相等的部分,您可以使用列表產生器:

def split(a, n):
    k, m = divmod(len(a), n)
    return (a[i*k+min(i, m):(i+1)*k+min(i+1, m)] for i in range(n))
登入後複製

該函數確定列表長度除以部分數量時的區塊大小(k) 和余數(m) 。然後它從清單中產生區塊,從索引 i*k 開始,到索引 (i 1)*k 結束。這可確保前 m 個區塊包含其餘部分中的附加元素,從而產生大小大致相等的部分。

範例:

>>> list(split(range(11), 3))
[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10]]
登入後複製

在此範例中,清單範圍 (11) 被分成三部分,產生大小為 4、4 和 3 的區塊。

以上是如何在Python中將列表分成大致相等的部分?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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