順序を保持する Python 辞書からキーを取得する方法

Patricia Arquette
リリース: 2024-10-17 18:11:02
オリジナル
860 人が閲覧しました

How to Retrieve Keys from Order-Preserving Python Dictionaries

辞書へのインデックス付け: 順序保持機能を理解する

Python では、キーと値のペアを保存するために辞書が使用されますが、従来、これらの辞書は順序付けされていませんでした。ただし、Python 3.7 の導入により、辞書は OrderedDicts と同様に動作する順序保持機能を獲得しました。

この機能により、整数インデックス (colors[0] など) を使用して辞書に直接インデックスを付ける機能が排除されます。を使用すると、辞書内の最初または n 番目のキーを取得するための代替アプローチが開かれます。

最初のキーと値の取得

辞書内の最初のキーを取得するには、辞書キーをリストに変換し、最初の要素にアクセスします:

<code class="python">first_key = list(colors)[0]</code>
ログイン後にコピー

同様に、最初の値を取得するには、辞書の値をリストに変換し、最初の要素にアクセスします:

<code class="python">first_val = list(colors.values())[0]</code>
ログイン後にコピー

最初のキーを取得するための代替方法

リストを作成したくない場合は、ヘルパー関数を使用して辞書キーを反復処理し、最初のキーを返すことができます:

<code class="python">def get_first_key(dictionary):
    for key in dictionary:
        return key
    raise IndexError</code>
ログイン後にコピー

この関数を使用すると、次のように最初のキーを取得できます。

<code class="python">first_key = get_first_key(colors)</code>
ログイン後にコピー

n 番目のキーの取得

n 番目のキーを取得するには、修正されたバージョンを使用できます。 get_first_key 関数の:

<code class="python">def get_nth_key(dictionary, n=0):
    if n < 0:
        n += len(dictionary)
    for i, key in enumerate(dictionary.keys()):
        if i == n:
            return key
    raise IndexError("dictionary index out of range") </code>
ログイン後にコピー

この関数を使用すると、次のように n 番目のキーを取得できます:

<code class="python">first_key = get_nth_key(colors, n=1)  # retrieve the second key</code>
ログイン後にコピー

これらのメソッドは辞書の反復処理に依存していることに注意してください。大規模な辞書の場合は非効率的です。

以上が順序を保持する Python 辞書からキーを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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