ホームページ  >  記事  >  バックエンド開発  >  Python 辞書の基本を再確認する

Python 辞書の基本を再確認する

王林
王林オリジナル
2023-09-03 20:09:021411ブラウズ

Python 字典基础知识的令人耳目一新的回顾

前のチュートリアルでは、Python の非常に多用途で柔軟なオブジェクト タイプである list について説明しました。この記事では、辞書 (連想配列またはハッシュとも呼ばれる) と呼ばれる別の柔軟な Python オブジェクト タイプのレビューを続けます。リストと同様、辞書も Python の旅を進めるために習得すべき重要な概念です。

辞書とは何ですか?

リストの記事を読んでいれば、辞書の概念を簡単に理解できるでしょう。これらはリストと非常によく似ていますが、2 つの主な違いがあります:

  1. これらは順序なしのコレクションです (順序付きリストとは異なります)。
  2. キーは、場所ではなくアイテムにアクセスするために使用されます ( つまり インデックス)。

ディクショナリ内の各キーには値があり、任意の Python オブジェクト タイプを指定できます。つまり、辞書は key-value ペアとして見ることができます。ただし、key のタイプをリストまたは辞書にすることはできないことに注意してください。

英仏辞書を作ろう

前のセクションで見たように、ディクショナリは順序付けされていないキーと値のペアの単なるセットです。この概念を使用して、最初の例である英仏辞書を作成してみましょう。辞書は次のように作成できます:

english_french = {'paper':'papier', 'pen':'stylo', 'car':'voiture', 'table':'table','door':' porte'}# ################################## 辞書

english_french

5 つの英単語が含まれており、

キー

に設定され、そのフランス語の意味は に設定されます。 ペンをフランス語でなんと言うかを知りたいとします。次のことを行うだけです:

english_french['ペン']

ここで、戻り値として stylo が得られます。

物事をもっと面白くする 次のように、

english_french

辞書の単語と同じ単語を含む

french_spanish

辞書があるとします。 french_spanish = {'papier':'papel', 'stylo':'pluma', 'voiture':'coche', 'table':'mesa', 'porte':' puerta'}# ################################## そうですね、スペイン語で

ドア

をなんと言うか尋ねられたのですが、手元に英語-スペイン語の辞書がありません。しかし、心配しないでください。解決策はあります。 english_french 辞書で単語を検索し、その結果を使用して

french_spanish

辞書を調べます。わかりますか? Python でこれを行う方法を見てみましょう:

french_spanish[english_french['door']] 結果は

puerta

となるはずです。それは良くない?英語-スペイン語辞書を持っていなくても、「ドア」を意味するスペイン語を取得できました。

その他の辞書操作

前の例では、辞書を作成し、辞書内の項目にアクセスする方法を説明しました。辞書を使ってさらに何ができるかを見てみましょう。以下の例では、english_french 辞書を使用します。 辞書にはいくつの項目がありますか?

言い換えれば、この操作の目的は、ディクショナリ内のキーと値のペアの数を返すことです。これは、次のように

len()

演算子を使用して実行できます。 レン(英語_フランス語)

5 を返す必要があります。

キーの削除

辞書内の項目の削除は、 キー

を使用して実行されます。たとえば、単語 (キー)

door を辞書から削除したいとします。これは次のように簡単に実行できます:

del english_french['ドア']

これにより、 キー

door とその

porte

が削除されます。

キーは辞書に存在しますか? 前のセクションでは、辞書から キー door を削除しました。 door

が辞書にまだ存在するかどうかを確認したい場合は、次のように入力します。

english_french

で「門」 False を返す必要があります。 それでは、次のステートメントは何を返すと思いますか?さあ、試してみてください (

not

に注意してください)。

「ドア」は english_french ではありません

辞書に存在しない

キー

にアクセスしようとするとどうなりますか? 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() は次のようになります。

english_french.itervalues() で使用される意味:

印刷の意味

この例の結果は次のようになります:

音声

スタイロ

ポルテ

######テーブル############

辞書を作成する別の方法

dict

コンストラクターを使用して、Python で辞書を作成する他の方法もあります。

dict

を使用して同じ辞書 ID を作成する例を次に示します。

ID = dict(名前 = 'アブデル-ラーマン'、番号 = 1234)

ID = dict([('名前','アブダーラーマン'),('番号',1234)])

ID = dict(zip(['name','number'],['Abder-Rahman',1234])) # リストとしてのキーと値

辞書を使用するとさらに多くのことができます。詳細については、Python のドキュメントを参照してください。

以上がPython 辞書の基本を再確認するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。