N 個の最大の辞書キーを抽出する Python プログラム

王林
リリース: 2023-09-08 22:29:02
転載
1104 人が閲覧しました

N 個の最大の辞書キーを抽出する Python プログラム

Python ディクショナリは、さまざまな操作に使用できるデータ構造であり、多機能なプログラミング ツールになります。データはキーと値のペアの形式で保存されます。つまり、各データは一意のキーでタグ付けできます。ディクショナリ内のキーは、アクセス、変更、削除できるさまざまな値に関連付けられた識別子です。

キーは、タスクに応じてさまざまな順序でソートおよび抽出できます。この記事では、N 最大 辞書キーを抽出する同様の概念について説明します。これらの一意のキーを操作して、関連データを抽出します。

質問を理解する

ランダムな一意のキー値を持つ辞書を考えます。私たちのタスクは、 最大の N キーを辞書から分離することです。例を通してこれを理解しましょう -

入力シナリオと出力シナリオ

次の値を持つ辞書を考えてみましょう -

リーリー

N の値が 4 の場合、元の辞書内の最大の 4 つのキー値を返します。

リーリー

最大 N 個のキー値を返します。問題の内容を理解したところで、いくつかの解決策について説明します。

反復と Max() の使用

これは、辞書から N 個の最大キーを抽出する基本的な方法です。最大値と参照値をそれぞれ保存するための辞書と 2 つの空のリストを作成します。その後、「N」値を渡し、反復と「.items()」メソッドを使用してキー値を抽出します。

これらの抽出された値はリスト (Maxlis) に保存されます。追加された辞書キー「N」を再度繰り返し、すべての最大値を抽出します。反復ごとに、最大のキー値がリストから削除され、最大の N キー (Nlargest) を含むリストが出力されます。

###例###

以下は、反復を使用して最大 N 個の辞書キーを抽出し、 -

を追加する例です。 リーリー ###出力### リーリー

Sorted() Lambda での反復の使用

これは、N 個の最大キーを抽出する高度な方法です。このメソッドでは、反復と「.items()」メソッドを使用してすべての辞書キーを取得します。 「

sorted()

」関数の「

key

」パラメータを使用して、抽出ロジックを処理する別の関数 (lambda) を指定します。 lambda 関数はキーを抽出し、sorted() 関数はそれらを順番に並べ替えます。 reverse = True」句は、キー値を降順に並べ替えます。最後に、

slicing

手法を使用して、辞書から最初の N 個のキーのみを抽出し、それらをリスト (最大) に保存します。 ###例### 以下は例です - リーリー ###出力### リーリー Sorted() itemgetter()を使用する

ラムダ関数を使用する代わりに、

operator

モジュールの「

itemgetter()

」関数を使用して項目を抽出できます。同じ反復とキーの並べ替えの概念を使用しますが、「

key

」パラメーターには、キーを抽出するための「

itemgetter()

」関数が割り当てられます。 ###例### 以下は例です - リーリー ###出力### リーリー 追加のソリューションと洞察 辞書から最大 N 個のキーを抽出するには、「heapq」モジュールの「

nlargest()

」関数の使用や関数ベースの並べ替えなど、さまざまな手法があります。 「

lambda

」関数と「

itemgetter

」関数に正しい値を設定することは、項目の並べ替えと抽出の準備を整えるため、非常に重要です。

###結論は###

この記事では、N 個の最大辞書値を抽出するためのさまざまなソリューションについて説明しました。まず、最大のキーを分離してアタッチするという基本的で大雑把なアプローチから始めます。その後、詳細で最適化されたプログラムを生成するためのいくつかの高度なソリューションについて説明します。私たちは、sorted()、lambda、itemgetter、および max() 関数の応用について学びました。

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

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