リストをほぼ同じ部分に分割するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-13 04:24:02
オリジナル
896 人が閲覧しました

How to Split a List into Nearly Equal Parts?

リストを等しい部分に分割する

要素のリストを操作する場合、要素のリストをより小さなほぼ均等な部分に分割する必要がある場合があります。部品。これは、データ処理、並列コンピューティング、分散アルゴリズムなどのタスクに特に役立ちます。ここでは、リストを n 個の部分に効果的に分割する方法を検討します。

解決策:

リストを n 個の部分にほぼ均等に分割するには、次のようにします。次の手順を実行できます:

  1. を除算して商 k と剰余 m を計算します。 n によるリストの長さ: k, m = divmod(len(a), n).
  2. リスト ジェネレーターを利用して分割部分を生成します: (a[i*k min(i, m): (i 1)*k min(i 1, m)] for i in range(n)).

このアプローチにより、各部分がほぼ均等に分割されます。最初の m 個の部分には、残りの n-m 個の部分よりも 1 つの追加要素が含まれます。

例:

このメソッドの有効性を説明するために、11 個の整数のリストを考えてみましょう。 range( 11)。 Split 関数を使用してこのリストを 3 つの部分に分割すると、次の結果が得られます。

>>> list(split(range(11), 3))

[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10]]
ログイン後にコピー

ご覧のとおり、リストはほぼ同じサイズの 3 つの部分に分割されており、最初の部分には 4 つの要素が含まれ、他の 2 つの部分にはそれぞれ 3 つの要素が含まれています。

以上がリストをほぼ同じ部分に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート