Python Dictionary(Dict):Update、Cmp、Len、Sort、Copy、Items、str の例
Python の辞書とは?
Python の辞書 キーと値のペアを保持する、順序付けされていない変更可能なデータ値のコレクションです。ディクショナリ内の各キーと値のペアは、キーを関連する値にマップして、より最適化します。 Python の Dictionary は、中かっこ ({}) を使用してキーと値のペアのコンマ区切りリストを囲むことによって宣言されます。 Python Dictionary は、キーと値の 2 つの要素に分類されます。
- キーは単一の要素になります
- 値は、リストまたはリスト内のリスト、数値などです。
この Python チュートリアルでは、次のことを学びます:
- Python の辞書とは?
- Python 辞書の構文:
- 辞書キーのプロパティ
- Python 辞書メソッド
- 辞書の更新
- 指定されたキーが辞書に既に存在するかどうかを確認します
- Python 辞書組み込み関数
- 変数の種類
- Python リストの cmp() メソッド
- 辞書 Str(dict)
- 辞書の結合
- update() メソッドを使用して 2 つの辞書をマージする
- ** メソッドを使用した辞書のマージ (Python 3.5 以降)
- 辞書メンバーシップ テスト
Python 辞書の構文
Dict = { ' Tim': 18, xyz,.. }
辞書は中括弧内にリストされ、これらの中括弧内でキーと値が宣言されます。各キーとその値はコロン (:) で区切られ、各要素はコンマで区切られています。
辞書キーのプロパティ
ディクショナリキーを使用する際の重要なポイントが 2 つあります
- キーごとに複数のエントリは許可されていません (キーの重複は許可されていません)
- ディクショナリの値は任意の型にすることができますが、キーは数値、タプル、または文字列のように不変でなければなりません。
- 辞書キーは大文字と小文字が区別されます。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」という別の辞書名で男の子と女の子の要素を定義しました。
- 再び新しい辞書名「学生 X」と「学生 Y」を作成しました。ここで、男子辞書のすべてのキーと値が学生 X にコピーされ、女子は学生 Y にコピーされます
- したがって、メイン辞書 (Dict) のリスト全体を調べて、誰が男の子で誰が女の子かを確認する必要はありません。男の子のリストが必要な場合は学生 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 メソッドを使用して、Sarah を既存の辞書に追加します
- コードを実行すると、Sarah が既存の辞書に追加されます
辞書からキーを削除
Python ディクショナリでは、ディクショナリ リストから任意の要素を自由に削除できます。リストに 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()))
- Dict には code items() メソッドを使用します。
- コードが実行されると、辞書からアイテム (キーと値) のリストが返されます
指定されたキーが辞書に既に存在するかどうかを確認します
特定のリストについて、子辞書がメイン辞書に存在するかどうかを確認することもできます。ここには「Boys」と「Girls」という 2 つのサブ辞書があり、メインの「Dict」に「Boys」という辞書が存在するかどうかを確認します。そのために、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)
- コード内の forloop は、メイン ディクショナリ内の各キーで Boys キーをチェックします
- メイン辞書に存在する場合は true と出力するか、存在しない場合は false と出力する必要があります
- コードを実行すると、「Boys」辞書に 3 つの要素があるため、「True」が 3 回出力されます
- これは、メイン辞書 (Dict) に「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」の変数 students を宣言しました。
- 次に、Dictionary 内の要素をソートするコード Students.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 つの要素があるため、出力は「4」になります。
変数の型
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 List cmp() メソッド
比較メソッド cmp() は、Python で 2 つの辞書の値とキーを比較するために使用されます。メソッドが両方の辞書が等しい場合は 0 を返し、dic1> dict2 の場合は 1 を返し、dict1
Python 2 の例
Python 3 の例
Str() メソッドを使用すると、辞書を印刷可能な文字列形式にすることができます。
Python 2 の例
Python 3 の例
すべてのディクショナリ メソッドのリストは次のとおりです
ここでは、与えられた 2 つの辞書を 1 つの辞書にマージする方法を理解します。
以下に示すように、2つの辞書があります:
Dictionary1 :my_dict1
辞書 2 :my_dict2
これらの辞書 my_dict1 と my_dict2 の両方をマージして、名前が my_dict の単一の辞書を作成しましょう。
update() メソッドは、ある辞書を別の辞書とマージするのに役立ちます。この例では、my_dict1 を my_dict2 で更新します。 update() メソッドを使用した後、my_dict1 は以下に示すように my_dict2 の内容を持ちます:
出力:
** は Python では Kwargs と呼ばれ、Python バージョン 3.5 以降で動作します。 ** を使用すると、2 つの辞書をマージでき、マージされた辞書が返されます。変数の前に ** を使用すると、変数がそのすべての内容に置き換えられます。
** を使用して 2 つのディレクトリをマージする実際の例を次に示します。
出力:
キーが辞書内に存在するかどうかをテストできます。このテストは、ディクショナリのキーに対してのみ実行でき、値に対しては実行できません。メンバーシップ テストは in を使用して行われます キーワード。 in を使用して辞書でキーを確認すると、 キーが存在する場合、式は true を返し、存在しない場合は false を返します。
これは、辞書のメンバーシップ テストを示す例です。
出力:Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
print cmp(Girls, Boys)
cmp is not supported in Python 3
辞書 Str(dict)
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print "printable string:%s" % str (Dict)
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print("printable string:%s" % str (Dict))
スレッド> メソッド 説明 構文 copy() 辞書全体を新しい辞書にコピー dict.copy() update() 新しいエントリまたはキーと値のペアを既存のエントリに追加するか、既存のエントリを削除して、辞書を更新します。 Dict.update([その他]) items() 辞書内のタプル ペア (キー、値) のリストを返します。 dictionary.items() sort() 要素を並べ替えることができます dictionary.sort() len() ディクショナリ内のペアの数を示します。 len(dict) cmp() 2 つの辞書の値とキーを比較する cmp(dict1, dict2) Str() 辞書を印刷可能な文字列形式にする Str(辞書) 辞書の結合
my_dict1 = {"username": "XYZ", "email": "[email protected]", "location":"Mumbai"}
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
update() メソッドを使用して 2 つの辞書をマージする
my_dict1 = {"username": "XYZ", "email": "[email protected]", "location":"Mumbai"}
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
my_dict1.update(my_dict2)
print(my_dict1)
{'username': 'XYZ', 'email': '[email protected]', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}
** メソッドを使用した辞書のマージ (Python 3.5 以降)
my_dict1 = {"username": "XYZ", "email": "[email protected]", "location":"Mumbai"}
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
my_dict = {**my_dict1, **my_dict2}
print(my_dict)
{'username': 'XYZ', 'email': '[email protected]', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}
辞書メンバーシップ テスト
my_dict = {"username": "XYZ", "email": "[email protected]", "location":"Mumbai"}
print("email" in my_dict)
print("location" in my_dict)
print("test" in my_dict)
True
True
False
まとめ:
Python
- Python 辞書
- プログラム例を使用した Java の挿入ソート アルゴリズム
- Python Dictionary Append:キーと値のペアを追加する方法
- 例を使用した Python 文字列 strip() 関数
- Python 文字列の長さ | len() メソッドの例
- Yield in Python チュートリアル:Generator &Yield vs Return の例
- 例を使用したコレクション内の Python カウンター
- Python の Enumerate() 関数:ループ、タプル、文字列 (例)
- Python time.sleep():コードに遅延を追加する (例)
- Python リスト内包表記、追加、ソート、長さ [例]
- Python List index() と例