リストを N 個のほぼ等しい部分に分割する
リストを等しい部分に分割することは、一般的なプログラミングの問題です。特定の課題の 1 つは、リストの長さが必要な部分の数で割り切れない場合に均等に分割することです。
たとえば、7 つの要素のリストを 2 つの等しい部分に分割することを考えてください。理想的には、各部分にはそれぞれ 3 つと 4 つの要素がある必要があります。
提供されたコード chunks() は、リストを同じサイズの要素のチャンクに分割しますが、これにより、分割しても。あるいは、チャンクを転置することで均等な分割を実現できますが、要素の順序が崩れてしまいます。
より効率的なアプローチは、改善されたコードで示されているように、リスト ジェネレーターを使用することです。
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 を計算します。次に、リストを反復処理して必要なサイズの部分を作成するジェネレーターを生成します。
例:
>>> list(split(range(11), 3)) [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10]]
このソリューションは、リストをほぼ等しい部分に分割する効率的な方法を提供します。要素の順序を維持します。
以上がリストをほぼ同じ部分に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

記事では、構文のあいまいさのためにPythonにおけるタプル理解の不可能性について説明します。 Tupple式を使用してTuple()を使用するなどの代替は、Tuppleを効率的に作成するためにお勧めします。(159文字)

この記事では、Pythonのモジュールとパッケージ、その違い、および使用について説明しています。モジュールは単一のファイルであり、パッケージは__init__.pyファイルを備えたディレクトリであり、関連するモジュールを階層的に整理します。

記事では、PythonのDocstrings、それらの使用、および利点について説明します。主な問題:コードのドキュメントとアクセシビリティに関するドキュストリングの重要性。

記事では、ラムダの機能、通常の機能との違い、およびプログラミングシナリオでの有用性について説明します。すべての言語がそれらをサポートするわけではありません。

記事では、PythonでのBreak、継続、およびパスについて説明し、ループの実行とプログラムの流れの制御における役割について説明します。

この記事では、機能やクラスなどのコード構造のプレースホルダーとして使用されるヌル操作であるPythonの「パス」ステートメントについて説明し、構文エラーなしで将来の実装を可能にします。

記事では、パス機能をPythonの引数として説明し、モジュール性やソートやデコレーターなどのユースケースなどの利点を強調しています。

記事は、Pythonの /および//オペレーターについて説明します: /真の分割の場合、//床部門の場合。主な問題は、それらの違いとユースケースを理解することです。CharacterCount:158


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

メモ帳++7.3.1
使いやすく無料のコードエディター

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ホットトピック









