Python3辞書
ディクショナリは別の可変コンテナモデルであり、任意のタイプのオブジェクトを格納できます。
ディクショナリは、キーと値のペアでデータを格納する変数コンテナです。いわゆる変数とは、コンテナのサイズを変更したり、要素を変更または削除したりできることを意味します。Javaに精通している場合は、pythonのディクショナリが類似していることがわかります。 Javaのハッシュテーブルコレクションでは、辞書の各キーと値(key => value)のペアはコロン(:)で区切られ、各ペアはコンマ(、)で区切られます。辞書全体は中括弧{}とJSONで囲まれます。の形式は少し似ていますが、宣言の形式は次のとおりです。
d = {key1 : value1, key2 : value2 }
同じ辞書で、キーは一意である必要がありますが、値は一意である必要はありません。
値は任意のデータタイプを取ることができますが、キーは文字列、数値、タプルなどの不変である必要があります。
宣言辞書コードの例:
dict1 ={"name":"張さん","age":"20","address":"湖南"}
dict2 ={"age":20,"hight":170}
dict3 ={1:12.5,2:20,2.5:"test","one":12.23} #さまざまなタイプを使用できます
print(dict1)print(dict2)print(dict3)
操作結果:
{'名前': '張さん'、 '年齢': '20'、 '住所': '湖南'}
{‘age’: 20, ‘hight’: 170}
{1: 12.5, 2: 20, 2.5: ‘test’, ‘one’: 12.23}
角括弧を使用して辞書の値にアクセスし、鍵を角括弧に入れます。キーに対応する値を取得できます。コード例:
dict1 ={"name":"張さん","age":"20","address":"湖南"}
dict2 ={"age":20,"hight":170}
dict3 ={1:12.5,2:20,2.5:"test","one":12.23} #さまざまなタイプを使用できます
print(dict1["name"])print(dict2["hight"])print(dict3[1])
操作結果:
張さん
170
12.5
辞書に存在しないキーにアクセスすると、例外がスローされます。エラーの例:
dict1 ={"name":"張さん","age":"20","address":"湖南"}print(dict1["sex"])
操作結果:
Traceback (most recent call last):
File “E:/PythonProject/TestDict1.py”, line 3, in
print(dict1[“sex”])
KeyError: ‘sex’
辞書に新しい要素を追加するには、新しいキーと値のペアを追加するだけです。既存の値を変更するには、キーを使用して値を再割り当てする必要があります。コード例:
dict1 ={"name":"張さん","age":"20","address":"湖南"}
dict1["name"]="Li Si"print("名前キーの値を変更します。", dict1)
dict1["sex"]="男性"print("キー値を追加しました:", dict1)
操作結果:
名前キーの値を変更しました:{'name': '李四'、 'age': '20'、 'address': 'Hunan'}
キー値を追加:{'名前': '李四'、 '年齢': '20'、 '住所': '湖南'、 '性別': '男性'}
単一の要素を削除することも、辞書全体のすべての要素をクリアすることもできます。クリアするには、clear()メソッドを呼び出すだけです。
delコマンドを使用して、辞書オブジェクトを削除し、辞書のキー値を削除します。コード例:
dict1 ={"name":"張さん","age":"20","address":"湖南"}
del dict1["name"] #辞書の名前キー値を削除します
del dict1 #辞書オブジェクト全体を削除します
dict1.clear() #辞書の要素をクリアすると、辞書オブジェクトは削除されません
ディクショナリ値は、標準オブジェクトまたはユーザー定義オブジェクトのいずれかの任意のpythonオブジェクトにすることができますが、キーは機能しません。
2つの重要な点を覚えておく必要があります。
1 )同じキーを2回表示することはできません。作成中に同じキーが2回以上割り当てられた場合、最後のキーの値が優先されます。コード例:
dict1 ={"name":"張さん","age":"20","address":"湖南","name":"Li Si"}print(dict1["name"])print(dict1)
操作結果:
Li Si
{'名前': 'Li Si'、 '年齢': '20'、 '住所': '湖南'}
2 )キーは不変である必要があるため、数値、文字列、またはタプルとして使用できますが、リストは機能しません。エラーの例:
dict1 ={["name"]:"張さん","age":"20","address":"湖南"}print(dict1)
操作結果:
Traceback (most recent call last):
File “E:/PythonProject/TestDict2.py”, line 1, in
dict1 = {["name"]: "Zhang San"、 "age": "20"、 "address": "Hunan"}
TypeError: unhashable type: ‘list’
Recommended Posts