將列表分成 N 個近似相等的部分
將列表分成相等的部分是一個常見的程式設計問題。一個特殊的挑戰是當清單長度不能被所需的部分數量整除時實現均勻分割。
例如,考慮將 7 個元素的列表分成兩個相等的部分。理想情況下,每個部分應分別具有 3 個和 4 個元素。
提供的程式碼 chunks() 將列表分成大小相等的元素區塊,但這可能不會導致甚至分裂。或者,轉置區塊可以實現均勻分割,但會破壞元素排序。
更有效的方法是使用清單產生器,如改進的程式碼所示:
此程式碼計算理想的區塊大小k 和剩餘元素m。然後,它會產生一個生成器,該生成器迭代列表並建立所需大小的部分。
例如:
此解決方案提供了一種將列表拆分為大致相等部分的有效方法,保留元素順序。
以上是如何將列表分成大致相等的部分?的詳細內容。更多資訊請關注PHP中文網其他相關文章!