20日間のゼロベース独学Python | Day10 辞書の使い方

皆さんこんにちは、私の名前はニンイーです。

辞書は Python のデータ型であり、中括弧 { } を使用してデータを囲み、データを英語のカンマで区切ります。

辞書には、あらゆる種類のオブジェクトを格納できます。各要素は、キー:値の 2 つの部分で構成されます。通常、これをキーと値のペアと呼びます。

キーはキーを参照し、値は値を参照します。これらは常にペアで表示され、形式は次のとおりです。

d = {key1 : value1, key2 : value2 }

1. キーと値の特徴

(1) キーは一意ですが、値は一意である必要はありません。

正しい例:

d = {"name1":"宁一","name2":"宁一"}
print(d)
# 输出 {'name1': '宁一', 'name2': '宁一'}

エラーの例:

d = {"name":"宁一","name":"喵宁"}
print(d)
# 输出 {'name': '喵宁'}

辞書では、同じキーが 2 回出現することは許可されていません。この定義ではエラーは報告されませんが、前のキーは後続のキーによって上書きされます。

(2) キーは不変でなければならず、値は任意のデータ型にすることができます。

キーは、数値、文字列、タプルなどのデータ型を取得できます。

値には、文字列、数値、リスト、タプル、辞書、セットなど、任意のデータ型を使用できます。

上記のデータ タイプを理解するには、ホームページにアクセスしてレッスン 5 を参照してください。

正しい例:

# 值可以是列表、字典等
d = {'name':["宁一","喵宁"]}
d = {'name':{"name1":"宁一","name2":"喵宁"}}

エラーの例:

# 将列表等可变数据类型放在key的位置是错误的
d = {["宁一", "喵宁"]:"name"}
#报错 TypeError: unhashable type: 'list'
# 换成元组这种不可变数据类型就可以
d = {("宁一", "喵宁"):"name"}

2. 辞書リストの違い

辞書とリストは、後のプログラミングでよく使用されるデータ型であり、複数のデータを格納できます。辞書とリストを定義しましょう。

#字典,命名为d,字典名字是自定义的。
d = {"name":"宁一","age":"1995-07-12","score":100}
#列表
l = ["宁一","1995-07-12",100]

それらの違いは次のとおりです。

(1) 検索方法

上記の「名前」「年齢」「得点」などの「キー」をもとに辞書を検索します。

d["name"]
# 输出 '宁一'

リストは 0 1 2 などの添字に基づいて検索されます。

l[0]
# 输出 '宁一'

(2) 辞書には順序がありませんが、リストには順序があります。

辞書内の要素は、検索結果に影響を与えることなく、自由に変更できます。

リスト内の要素を自由に変更することはできません。変更しないと、検索結果に影響します。

たとえば、上で定義した辞書 d とリスト l です。最初の 2 つの要素が入れ替わった場合の検索結果を見てみましょう。

d["name"]
# 输出 '宁一'
l[0]
# 输出 "1995-07-12"

3. 辞書要素を変更する

辞書内の要素をキーによって変更します。上で定義した辞書 d の操作を継続します。

# 将key为"name"对应的值改成"喵宁"
d["name"] = "喵宁"
# 将key为"age"对应的值改成26
d["age"] =26
print(d)
# 输出 {'name': '喵宁', 'age': 26, 'score': 100}

4. 辞書または要素を削除する

(1) 辞書内の要素を削除する

del メソッドを使用してキーを入力し、その後に角括弧 [] で囲まれた辞書名を入力することで辞書要素を削除できます。

# 删除"name":"宁一"这个键值对
del d["name"]
print(d)
# 输出 {'age': 26, 'score': 100}

(2) 辞書内のすべての要素をクリアします

辞書名の後にclear()関数を追加すると、辞書がクリアされます。クリア後​​も辞書は残っていますが、要素は存在しないので注意してください。

d.clear()
print(d)
# 输出 {}

(3) 辞書の削除

または、del メソッドを使用し、その後に辞書名を直接追加すると、辞書は直接削除されます。これは、上記の clear() 関数とは区別する必要があります。

#删除字典
del d
print(d)
# 报错 NameError: name 'd' is not defined

5. その他の共通操作

(1)len()の長さ

辞書内のキーと値のペアの数を数えます。

d.len()
# 输出  3

(2)キー()

すべてのキーを含むリストを返します。

d.keys()   
# 输出 ['name', 'age', 'score']

(3)値()

すべての値を含むリストを返します。

d.values()   
# 输出 ['宁一', '1995-07-12', 100]

(4)項目()

辞書をリストに変換します。

d.items()
# 输出 [('name', '宁一'), ('age', '1995-07-12'), ('score', 100)]

クリックしてフォローして、迷うことなく Python を始めましょう~

おすすめ

転載: blog.csdn.net/shine_a/article/details/128899410