構文と例を含む Python の辞書

Pythonの辞書とは何ですか?

A Python の辞書 キーと値のペアを保持する、順序付けされていない変更可能なデータ値のコレクションです。 ディクショナリ内の各キーと値のペアは、キーをその関連する値にマッピングして、キーをより最適化します。 Python の辞書は、中括弧 ({}) を使用してキーと値のペアのコンマ区切りのリストを囲むことによって宣言されます。 Python 辞書は、キーと値の XNUMX つの要素に分類されます。

  • キーは単一の要素になります
  • 値はリストまたはリスト内のリストにすることができます。 numbers, etc.

Python 辞書の構文

Dict = { ' Tim': 18,  xyz,.. }

辞書は中字でリストされています brackets、これらの巻き毛の中に brackets、キーと値が宣言されます。各キーとその値はコロン (:) で区切られ、各要素はカンマで区切られます。

Python 辞書の構文

辞書キーのプロパティ

辞書キーを使用する際に重要な点が XNUMX つあります

  • キーごとに複数のエントリは許可されません (重複キーは許可されません)。
  • ディクショナリ内の値は任意の型にすることができますが、キーは次のように不変でなければなりません。 numbers, タプル
  • 辞書キーは大文字と小文字を区別します - 同じキー名でも大文字と小文字が異なる場合は、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 辞書を使用すると、辞書リストから任意の要素を自由に削除できます。 リストに Charlie という名前を入れたくないので、次の手順でキー要素を削除できるとします。wing コー​​ド。

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 を返し、dic1 > 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 以降)

** は Python では Kwargs と呼ばれ、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 ディクショナリは、キーと値の XNUMX つの要素で定義されます。
  • 辞書は特定の順序で情報を保存しないため、入力した順序で情報を取得できない場合があります。
  • キーは単一の要素になります
  • 値はリストまたはリスト内のリストにすることができます。 numbers, etc.
  • キーごとに複数のエントリは許可されません (重複キーは許可されません)。
  • ディクショナリ内の値は任意の型にすることができますが、キーは次のように不変でなければなりません。 numbers、タプル、または文字列。
  • 辞書キーは大文字と小文字を区別します - 同じキー名でも大文字と小文字が異なる場合は、Python 辞書では別のキーとして扱われます。