ホームページ  >  記事  >  バックエンド開発  >  辞書とそのキーを K 個の等しい辞書に分割する Python プログラム

辞書とそのキーを K 個の等しい辞書に分割する Python プログラム

PHPz
PHPz転載
2023-08-28 08:57:221104ブラウズ

辞書とそのキーを K 個の等しい辞書に分割する Python プログラム

辞書は、Python でデータ構造を実装するために使用される配列の一意の形式です。辞書には、Python の非常に強力なツールとなる関連機能がいくつかあります。データはキーと値のペアの形式で保存されます。各キーは、それに関連付けられた対応する値にアクセスするために使用される一意の識別子です。

この辞書に対してさまざまな操作を実行し、辞書に保存されているデータを操作できます。この記事では、辞書とそのキーを K 個の等しい辞書に分割する操作について説明します。

質問を理解する

辞書を渡して、それを K 個の等しい辞書に分割する必要があります。ここで、「K」は元の辞書のサイズです。パーティショニングの方法は、すべてのキーを均等に分割する必要があります。例を通してこれを理解してみましょう -

リーリー

ここでは、異なるキーに関連付けられた各値が元の値の 1/K 倍に減らされ、K 個の辞書のリストが返されます。問題ステートメントについて説明したので、いくつかの解決策について説明しましょう。

反復を使用する

このメソッドでは、サンプル辞書を渡し、「len()」メソッドを使用して「K」値を取得します。このメソッドは辞書の長さを返します。その後、辞書例を反復処理し、「/」オペランドを使用して各 "key value" を K で除算します。

これらの分割された値を空の辞書に保存し、 "append()" メソッドを使用して、新しく作成したすべての辞書を空のリストに追加します。

###例### リーリー ###出力### リーリー

リスト内包表記と辞書内包表記を使用する

この方法は、前のソリューションの最適化バージョンです。ここでは、辞書理解とリスト理解の助けを借りて、単一の辞書とリストに対する反復を要約します。例の辞書を渡した後、分割した値を格納する辞書(

DivDict

)を作成します。

反復して、K キーで割った元の辞書を返します。リスト (lisDict) には、分割された値を含む K 個の辞書が格納されます。リストの長さが K 値と等しいことを指定します。

###例### リーリー ###出力### リーリー

他にも次のようなメソッドがあります: - zip()、lambda()、groupby()、slicing など。

これらのメソッドは、辞書内の特定の値やキーなど、コードに特定の仕様を導入する必要がある場合に使用できます。上記の解決策は、サンプル辞書を K 個の等しい部分に分割するために使用できる基本的なアプローチです。

###結論は###

この記事では、辞書とそのキーを

K 個の等しい辞書

に分割するための 2 つのソリューションについて説明しました。最初の解決策は、辞書を反復処理してリストに追加する「ループ概念」を中心に展開します。 2 番目のソリューションは、ループの概念全体を 1 つの辞書とリストに要約する、より最適化されたアプローチに焦点を当てています。

以上が辞書とそのキーを K 個の等しい辞書に分割する Python プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。