リストをほぼ等しい部分に分割する
リストを等しい部分に分割することは、プログラミングにおける一般的なタスクです。 Python の組み込み chunks() メソッドは、リストを同じサイズのチャンクに分割する方法を提供しますが、代わりにリストをほぼ同じ部分に分割したい場合はどうすればよいでしょうか?
これを実現する 1 つのアプローチは次のとおりです。リスト ジェネレーターを使用します:
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))
その仕組みは次のとおりです:
例:
>>> list(split(range(11), 3)) [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10]]
このコードは、長さ 11 のリストを 3 に分割します。パーツが作成され、それぞれ 4、4、3 つの要素を持つパーツが生成されます。
以上がPython でリストをほぼ同じ部分に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。