の辞書 Python 構文と例付き
辞書とは何か Python?
A の辞書 Python 辞書は、キーと値のペアを保持する、順序付けされていない変更可能なデータ値のコレクションです。辞書内の各キーと値のペアは、キーをそれに関連付けられた値にマップし、より最適化されます。Python の辞書は、中括弧 ({}) を使用して、コンマで区切られたキーと値のペアのリストを囲むことによって宣言されます。 Python 辞書は、キーと値という 2 つの要素に分類されます。
- キーは単一の要素になります
- 値はリスト、リスト内のリスト、数値などになります。
の構文 Python 辞書
Dict = { ' Tim': 18, xyz,.. }
辞書は中括弧で囲まれ、この中括弧内でキーと値が宣言されます。各キーはコロン (:) でその値と区切られ、各要素はカンマで区切られます。
辞書キーのプロパティ
辞書キーを使用する際に重要な点が XNUMX つあります
- キーごとに複数のエントリは許可されません (重複キーは許可されません)。
- 辞書の値は任意の型にすることができますが、キーは数値のように不変である必要があります。 タプル
- 辞書のキーは大文字と小文字が区別されます。同じキー名でも大文字と小文字が異なると、異なるキーとして扱われます。 Python 辞書。
Python 2例
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print (Dict['Tiffany'])
Python 3例
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print((Dict['Tiffany']))
- コードでは、辞書名「Dict」があります。
- 名前と年齢を辞書に宣言します。名前は「キー」、年齢は「値」です。
- コードを実行してください
- 辞書からティファニーの年齢を取得します。
Python 辞書メソッド
辞書をコピーする
辞書全体を新しい辞書にコピーすることもできます。 たとえば、ここでは元の辞書を新しい辞書名「Boys」と「Girls」にコピーしました。
Python 2例
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} studentX=Boys.copy() studentY=Girls.copy() print studentX print studentY
Python 3例
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} studentX=Boys.copy() studentY=Girls.copy() print(studentX) print(studentY)
- 男の子と女の子の名前と年齢をまとめたオリジナル辞書(Dict)を用意しています。
- しかし、男の子のリストを女の子のリストとは別にしたいので、男の子と女の子の要素を別の辞書名「Boys」と「Girls」に定義しました。
- ここでも、新しい辞書名「student X」と「student Y」を作成しました。ここでは、男の子の辞書のすべてのキーと値が Student X にコピーされ、女の子は StudentY にコピーされます。
- これで、メイン辞書 (辞書) のリスト全体を調べて、誰が男の子で誰が女の子であるかを確認する必要がなくなりました。男の子のリストが必要な場合は Student X を、女の子のリストが必要な場合は StudentY を印刷するだけです。
- したがって、学生 X と学生 Y の辞書を実行すると、「男子」と「女子」の辞書に存在するすべての要素が別々に表示されます。
辞書の更新
新しいエントリまたはキーと値のペアを既存のエントリに追加するか、既存のエントリを削除することによって、ディクショナリを更新することもできます。 この例では、別の名前「Sarah」を既存の辞書に追加します。
Python 2例
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Dict.update({"Sarah":9}) print Dict
Python 3例
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Dict.update({"Sarah":9}) print(Dict)
- 既存の辞書「Dict」には「Sarah」という名前がありません。
- Dict.update メソッドを使用して、サラを既存の辞書に追加します。
- コードを実行すると、サラが既存の辞書に追加されます。
辞書からキーを削除する
Python dictionary を使用すると、辞書リストから任意の要素を自由に削除できます。リストに Charlie という名前を含めたくない場合は、次のコードでキー要素を削除できます。
Python 2例
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} del Dict ['Charlie'] print Dict
Python 3例
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} del Dict ['Charlie'] print(Dict)
このコードを実行すると、チャーリーなしで辞書リストが出力されるはずです。
- コード del Dict を使用しました
- コードが実行されると、メイン辞書から Charlie が削除されます。
Dictionary items() メソッド
items() メソッドは、ディクショナリ内のタプル ペア (キー、値) のリストを返します。
Python 2例
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print "Students Name: %s" % Dict.items()
Python 3例
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("Students Name: %s" % list(Dict.items()))
- 辞書には code items() メソッドを使用します。
- コードが実行されると、辞書から項目 (キーと値) のリストが返されます。
特定のキーが辞書にすでに存在するかどうかを確認します
特定のリストについて、子辞書がメイン辞書に存在するかどうかを確認することもできます。 ここには XNUMX つのサブ辞書「Boys」と「Girls」があります。今度は、辞書 Boys がメインの「Dict」に存在するかどうかを確認したいと思います。 そのために、for ループ メソッドと else if メソッドを使用します。
Python 2例
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} for key in Boys.keys(): if key in Dict.keys(): print True else: print False
Python 3例
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} for key in list(Boys.keys()): if key in list(Dict.keys()): print(True) else: print(False)
- この フォーループ コードでは、メイン辞書内の各キーで Boys キーをチェックします。
- メイン辞書に存在する場合は true を出力する必要があり、存在しない場合は false を出力する必要があります。
- コードを実行すると、「Boys」辞書に XNUMX つの要素が含まれているため、「True」が XNUMX 回表示されます。
- つまり、私たちのメイン辞書 (辞書) に「Boys」が存在することを示しています。
辞書を並べ替える
辞書では、要素を並べ替えることもできます。 たとえば、辞書の要素の名前をアルファベット順に出力したい場合は、 for ループを使用する必要があります。 それに応じて辞書の各要素が並べ替えられます。
Python 2例
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} Students = Dict.keys() Students.sort() for S in Students: print":".join((S,str(Dict[S])))
Python 3例
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} Students = list(Dict.keys()) Students.sort() for S in Students: print(":".join((S,str(Dict[S]))))
- 辞書「Dict」の変数studentを宣言しました。
- 次に、コード Student.sort を使用します。これにより、辞書内の要素が並べ替えられます。
- ただし、辞書内の各要素をソートするには、変数 S を宣言して for a ループを実行します。
- コードを実行すると、for ループが辞書から各要素を呼び出し、文字列と値を順番に出力します。
Python 辞書組み込み関数
辞書 len() メソッド
len() 関数は、辞書内のペアの数を返します。
たとえば、
Python 2例
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print "Length : %d" % len (Dict)
Python 3例
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("Length : %d" % len (Dict))
len (Dict) 関数が実行されると、辞書には 4 つの要素があるため、出力は「XNUMX」になります。
変数タイプ
Python 予約メモリ空間を明示的に宣言する必要はありません。これは自動的に行われます。変数への値の割り当てには等号「=」が使用されます。変数の型を決定するコードは「%type (Dict)」です。
Python 2例
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print "variable Type: %s" %type (Dict)
Python 3例
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("variable Type: %s" %type (Dict))
- 変数の型を知るにはコード %type を使用します
- コードが実行されると、変数の型が辞書であることがわかります。
Python リスト cmp() メソッド
比較メソッドcmp()は、 Python 0 つの辞書の値とキーを比較します。両方の辞書が等しい場合は 1 を返し、dict1 > dict2 の場合は 1 を、dict1 < dict2 の場合は -XNUMX を返します。
Python 2例
Boys = {'Tim': 18,'Charlie':12,'Robert':25} Girls = {'Tiffany':22} print cmp(Girls, Boys)
Python 3例
cmp is not supported in Python 3
- 「Boys」と「Girls」という XNUMX つの辞書名があります。
- コード「cmp(Girls, Boys)」で最初に宣言したものが辞書 1 とみなされます。この場合、最初に「Girls」を宣言したため、それが辞書 1、男の子が辞書 2 とみなされます。
- コードが実行されると、-1 が出力されます。これは、辞書 1 が辞書 2 よりも小さいことを示します。
辞書 Str(dict)
Str() メソッドを使用すると、辞書を印刷可能な文字列形式に変換できます。
Python 2例
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print "printable string:%s" % str (Dict)
Python 3例
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25} print("printable string:%s" % str (Dict))
- コード % str (Dict) を使用します。
- 辞書の要素を印刷可能な文字列形式で返します。
すべての辞書メソッドのリストは次のとおりです
方法 | 説明 | 構文 |
---|---|---|
copy() | 辞書全体を新しい辞書にコピーします | dict.copy() |
更新() | ディクショナリを更新するには、新しいエントリまたはキーと値のペアを既存のエントリに追加するか、既存のエントリを削除します。 | Dict.update([その他]) |
items() | ディクショナリ内のタプル ペア (キー、値) のリストを返します。 | Dictionary.items() |
ソート() | 要素を並べ替えることができます | 辞書.ソート() |
len() | 辞書内のペアの数を返します。 | len(辞書) |
cmp() | XNUMX つの辞書の値とキーを比較する | cmp(dict1, dict2) |
Str() | 辞書を印刷可能な文字列形式に変換する | Str(辞書) |
辞書の結合
ここでは、指定された XNUMX つの辞書を XNUMX つの辞書にマージする方法を理解します。
以下に示すように、XNUMX つの辞書があります。
辞書 1 : my_dict1
my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}
辞書 2 : my_dict2
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
これらの両方の辞書 my_dict1 と my_dict2 をマージし、my_dict という名前の単一の辞書を作成しましょう。
update() メソッドを使用して XNUMX つの辞書をマージする
update() メソッドは、ある辞書を別の辞書とマージするのに役立ちます。 この例では、my_dict1 を my_dict2 で更新します。 update() メソッドを使用すると、以下に示すように、my_dict1 には my_dict2 の内容が含まれます。
my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"} my_dict2 = {"firstName" : "Nick", "lastName": "Price"} my_dict1.update(my_dict2) print(my_dict1)
出力:
{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}
** メソッドを使用した辞書のマージ ( Python 3.5以降)
**はKwargsと呼ばれています Python、そしてそれは Python バージョン 3.5 以降。** を使用すると、XNUMX つの辞書を結合して、結合された辞書を返すことができます。変数の前に ** を使用すると、変数がそのすべての内容に置き換えられます。
** を使用して XNUMX つのディレクトリをマージする実際の例を次に示します。
my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"} my_dict2 = {"firstName" : "Nick", "lastName": "Price"} my_dict = {**my_dict1, **my_dict2} print(my_dict)
出力:
{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}
辞書メンバーシップテスト
キーが辞書内に存在するかどうかをテストできます。 このテストは、ディクショナリのキーに対してのみ実行でき、値に対しては実行できません。 メンバーシップテストは、 in キーワード。 を使用して辞書内のキーを確認すると、 in キーワードを指定すると、式はキーが存在する場合は true を返し、キーが存在しない場合は false を返します。
以下は、辞書でのメンバーシップのテストを示す例です。
my_dict = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"} print("email" in my_dict) print("location" in my_dict) print("test" in my_dict)
出力:
True True False
まとめ
- プログラミング言語の辞書は、何らかの方法で接続された情報を保存するために使用されるデータ構造の一種です。
- Python 辞書は、キーと値という 2 つの要素に定義されます。
- 辞書は特定の順序で情報を保存しないため、入力した順序で情報を取得できない場合があります。
- キーは単一の要素になります
- 値はリスト、リスト内のリスト、数値などになります。
- キーごとに複数のエントリは許可されません (重複キーは許可されません)。
- 辞書内の値は任意の型にすることができますが、キーは数値、タプル、文字列のように不変である必要があります。
- 辞書のキーは大文字と小文字が区別されます。同じキー名でも大文字と小文字が異なると、異なるキーとして扱われます。 Python 辞書。