如何將列表分成平衡的部分
將列表分割為大小相等的區塊在各種程式設計場景中至關重要。 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中文網其他相關文章!