前のチュートリアルでは、Python の非常に多用途で柔軟なオブジェクト タイプである list について説明しました。この記事では、辞書 (連想配列またはハッシュとも呼ばれる) と呼ばれる別の柔軟な Python オブジェクト タイプのレビューを続けます。リストと同様、辞書も Python の旅を進めるために習得すべき重要な概念です。
リストの記事を読んでいれば、辞書の概念を簡単に理解できるでしょう。これらはリストと非常によく似ていますが、2 つの主な違いがあります:
ディクショナリ内の各キーには値があり、任意の Python オブジェクト タイプを指定できます。つまり、辞書は key-value ペアとして見ることができます。ただし、key のタイプをリストまたは辞書にすることはできないことに注意してください。
前のセクションで見たように、ディクショナリは順序付けされていないキーと値のペアの単なるセットです。この概念を使用して、最初の例である英仏辞書を作成してみましょう。辞書は次のように作成できます:
english_french = {'paper':'papier', 'pen':'stylo', 'car':'voiture', 'table':'table','door':' porte'}# ##################################
辞書
5 つの英単語が含まれており、
キー に設定され、そのフランス語の意味は 値
に設定されます。
ペンをフランス語でなんと言うかを知りたいとします。次のことを行うだけです:
english_french['ペン']
ここで、戻り値として stylo
が得られます。
物事をもっと面白くする
次のように、
辞書があるとします。
french_spanish = {'papier':'papel', 'stylo':'pluma', 'voiture':'coche', 'table':'mesa', 'porte':' puerta'}# ##################################
そうですね、スペイン語で
をなんと言うか尋ねられたのですが、手元に英語-スペイン語の辞書がありません。しかし、心配しないでください。解決策はあります。 english_french
辞書で単語を検索し、その結果を使用して
辞書を調べます。わかりますか? Python でこれを行う方法を見てみましょう:
french_spanish[english_french['door']]
結果は
となるはずです。それは良くない?英語-スペイン語辞書を持っていなくても、「ドア
」を意味するスペイン語を取得できました。
その他の辞書操作
前の例では、辞書を作成し、辞書内の項目にアクセスする方法を説明しました。辞書を使ってさらに何ができるかを見てみましょう。以下の例では、english_french
辞書を使用します。
辞書にはいくつの項目がありますか?
演算子を使用して実行できます。
レン(英語_フランス語)
5 を返す必要があります。
辞書内の項目の削除は、
キー
door を辞書から削除したいとします。これは次のように簡単に実行できます:
これにより、
キー
door とその
値
porte
が削除されます。
キーは辞書に存在しますか?
前のセクションでは、辞書から
キー door を削除しました。
door
で「門」
は False
を返す必要があります。
それでは、次のステートメントは何を返すと思いますか?さあ、試してみてください (
に注意してください)。
辞書に存在しない
にアクセスしようとするとどうなりますか? english_french['door']
と言います。この場合、次のようなエラーが表示されます:
トレースバック (最後の呼び出し):
ファイル「dictionary.py」、7 行目、 にあります。
印刷 english_french['ドア']
キーエラー: 'ドア'<module></module>
english_french
辞書の コピー が必要になる場合があり、それを別の辞書に割り当てます。これは、次のように copy()
関数を使用するだけで実行できます。
new_english_french = english_french.copy()
ネストと呼ばれます。例は次のとおりです:
学生 = {'ID':{'名前':'アブダーラーマン', '番号':'1234'}}
したがって、
student['ID'] と入力すると、次の結果が得られます:
{'名前': 'アブデル・ラフマン', '番号': '1234'}
english_french 辞書に戻りましょう。いくつかの方法で辞書の項目を反復処理できます。
英語とフランス語の単語:
印刷ワード
######車###### ######ペン###### ######紙###### ######ドア###### ######テーブル### ###
結果内の キー の順序は、
english_french
keys を反復処理する別の方法は次のとおりです:
english_french.iterkeys() の単語の場合:
印刷ワード
iterkeys() 関数を使用することに注意してください。値を反復処理するために使用できる同様の関数、つまり itervalues() は次のようになります。
印刷の意味
この例の結果は次のようになります:
紙
ポルテ
辞書を作成する別の方法
コンストラクターを使用して、Python で辞書を作成する他の方法もあります。
dict を使用して同じ辞書 ID
を作成する例を次に示します。
ID = dict(名前 = 'アブデル-ラーマン'、番号 = 1234)
ID = dict([('名前','アブダーラーマン'),('番号',1234)])
ID = dict(zip(['name','number'],['Abder-Rahman',1234])) # リストとしてのキーと値
辞書を使用するとさらに多くのことができます。詳細については、Python のドキュメントを参照してください。
以上がPython 辞書の基本を再確認するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。