Python-辞書
前のページ次のページ
各キーとその値はコロン (:) で区切られ、項目はコンマで区切られ、全体が中括弧で囲まれています。項目のない空の辞書は、{} のように 2 つの中括弧だけで記述されます。
キーはディクショナリ内で一意ですが、値は一意ではない場合があります。ディクショナリの値は任意の型にすることができますが、キーは文字列、数値、またはタプルなどの不変のデータ型である必要があります。
辞書の値へのアクセス
ディクショナリ要素にアクセスするには、おなじみの角括弧とキーを使用してその値を取得できます。以下は簡単な例です-
ライブデモ#!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} print "dict['Name']: ", dict['Name'] print "dict['Age']: ", dict['Age']
上記のコードが実行されると、次の結果が生成されます-
dict['Name']: Zara dict['Age']: 7
辞書の一部ではないキーでデータ項目にアクセスしようとすると、次のようなエラーが発生します-
ライブデモ#!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} print "dict['Alice']: ", dict['Alice']
上記のコードが実行されると、次の結果が生成されます-
dict['Alice']: Traceback (most recent call last): File "test.py", line 4, in <module> print "dict['Alice']: ", dict['Alice']; KeyError: 'Alice'
辞書を更新しています
以下の簡単な例に示すように、新しいエントリまたはキーと値のペアを追加するか、既存のエントリを変更するか、既存のエントリを削除することにより、辞書を更新できます-
ライブデモ#!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} dict['Age'] = 8; # update existing entry dict['School'] = "DPS School"; # Add new entry print "dict['Age']: ", dict['Age'] print "dict['School']: ", dict['School']
上記のコードが実行されると、次の結果が生成されます-
dict['Age']: 8 dict['School']: DPS School
辞書要素を削除
個々のディクショナリ要素を削除するか、ディクショナリの内容全体をクリアできます。 1 回の操作で辞書全体を削除することもできます。
辞書全体を明示的に削除するには、del を使用します 声明。以下は簡単な例です-
ライブデモ#!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} del dict['Name']; # remove entry with key 'Name' dict.clear(); # remove all entries in dict del dict ; # delete entire dictionary print "dict['Age']: ", dict['Age'] print "dict['School']: ", dict['School']
これにより、次の結果が生成されます。 del dict の後のため、例外が発生することに注意してください 辞書はもう存在しません −
dict['Age']: Traceback (most recent call last): File "test.py", line 8, in <module> print "dict['Age']: ", dict['Age']; TypeError: 'type' object is unsubscriptable
注意 − del() メソッドについては、後続のセクションで説明します。
辞書キーのプロパティ
ディクショナリの値には制限がありません。これらは、標準オブジェクトまたはユーザー定義オブジェクトの任意の Python オブジェクトにすることができます。ただし、キーについては同じではありません。
辞書のキーについて覚えておくべき重要な点が 2 つあります −
(a) キーごとに複数のエントリは許可されていません。つまり、重複キーは許可されません。割り当て中に重複キーが発生した場合、最後の割り当てが優先されます。たとえば-
ライブデモ#!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'} print "dict['Name']: ", dict['Name']
上記のコードが実行されると、次の結果が生成されます-
dict['Name']: Manni
(b) キーは不変でなければなりません。つまり、辞書のキーとして文字列、数値、またはタプルを使用できますが、['key'] のようなものは使用できません。以下は簡単な例です-
ライブデモ#!/usr/bin/python dict = {['Name']: 'Zara', 'Age': 7} print "dict['Name']: ", dict['Name']
上記のコードが実行されると、次の結果が生成されます-
Traceback (most recent call last): File "test.py", line 3, in <module> dict = {['Name']: 'Zara', 'Age': 7}; TypeError: unhashable type: 'list'
組み込みの辞書関数とメソッド
Python には次の辞書関数が含まれています −
Sr.No. | 説明付き関数 |
---|---|
1 | cmp(dict1, dict2) 両方の dict の要素を比較します。 |
2 | len(辞書) ディクショナリの全長を示します。これは、ディクショナリ内のアイテムの数に等しくなります。 |
3 | str(辞書) 辞書の印刷可能な文字列表現を生成します |
4 | type(変数) 渡された変数の型を返します。渡された変数がディクショナリの場合、ディクショナリ タイプが返されます。 |
Python には次の辞書メソッドが含まれています −
Sr.No. | 説明付きのメソッド |
---|---|
1 | dict.clear() 辞書 dict のすべての要素を削除します |
2 | dict.copy() 辞書 dict の浅いコピーを返します |
3 | dict.fromkeys() seq のキーと値 set を使用して新しい辞書を作成します 価値へ . |
4 | dict.get(キー、デフォルト=なし) 鍵用 キー、キーが辞書にない場合は値またはデフォルトを返します |
5 | dict.has_key(キー) 真を返します 辞書 dict のキーの場合 、偽 そうでなければ |
6 | dict.items() dict のリストを返します の (キー、値) タプル ペア |
7 | dict.keys() ディクショナリ dict のキーのリストを返します |
8 | dict.setdefault(キー、デフォルト=なし) get() に似ていますが、key の場合は dict[key]=default を設定します まだ辞書にありません |
9 | dict.update(dict2) 辞書 dict2 を追加します のキーと値のペアを dict に |
10 | dict.values() 辞書 dict のリストを返します の値 |
Python