2.1 要素の数を取得する
Pythonでは辞書の要素数を取得するために
組み込み関数len()
を使うよ。この関数は辞書内の
キーと値のペアの数を返す。まあ、キーの数と言ってもいいかな。
関数の使用例:
person = {"name": "Alice", "age": 25, "city": "New York"}
num_elements = len(person)
print(num_elements) # 出力: 3
この例では、3つの要素を持つ辞書person
がある。関数
len(person)
は辞書の要素数を返し、それは3になるよ。
辞書が空かどうかを確認する
辞書が空かどうかを確認するためにlen()
を使うことができるよ。
これは条件やループで便利だよね。
empty_dict = {}
print(len(empty_dict)) # 出力: 0
person = {"name": "Alice", "age": 25, "city": "New York"}
if len(person) > 0:
print("辞書は空じゃないよ")
else:
print("辞書は空だよ")
入れ子の構造を持つ辞書
len()
は
トップレベルのキーの数だけを考慮するんだ、値が何であれね。
complex_dict = {
name: "Alice",
details: {
age: 25,
city: "New York"
},
hobbies: ["reading", "traveling"]
}
print(len(complex_dict)) # 出力: 3
この例では、データの入れ子の構造を持つ辞書がある。
len(complex_dict)
は3を返す、トップレベルには3つのキーがあるからね。
"name",
"details"と"hobbies"だね。
len()
は入れ子の構造内のキー、例えば"age"や"city"
を無視する、なぜならlen()
はトップレベルのキーだけを数えるから。もしすべての要素、入れ子のものも含めて数えたいなら、
再帰的な方法を使わなきゃいけないね。でもそれについては今日は話さないよ。
2.2 タイプを確認する
Pythonにおける関数type()
は
オブジェクトのタイプを確認するために使うよ。辞書を扱う時、
type()
はそのオブジェクトがdict
クラスのインスタンスであることを確認できる。
これはいろんな状況で便利だよ、例えば、辞書に対して操作を行う前にデータのタイプを確認する時とかね。
使用例:
オブジェクトのタイプを確認する
person = {"name": "Alice", "age": 25, "city": "New York"}
print(type(person)) # 出力: <class 'dict'>
この例では、辞書person
を作成して、
type
を使ってそのタイプを確認する。
関数は<class 'dict'>
を返し、person
が辞書であることを示している。
データタイプの条件付きチェック
関数type()
は条件式でデータタイプを確認するのに使用できて、
dict
タイプのオブジェクトに対してだけ特定の操作を実行することができる。
data = {"name": "Alice", "age": 25, "city": "New York"}
if type(data) is dict:
print("これは辞書だよ。")
else:
print("これは辞書じゃないよ。")
この例では条件式がdata
が辞書であるかを確認して、対応するコードを実行する。
関数type()
はカスタム関数内で引数のタイプを確認するために使用することができて、
関数が正しいデータタイプを処理することを保証できる。
例:
def process_data(data):
if type(data) is dict:
print("辞書を処理中...")
# 辞書に対して操作を実行する
else:
print("エラー: 辞書が予期されました。")
data = {"name": "Alice", "age": 25, "city": "New York"}
process_data(data)
この例では、関数process_data
が引数data
が辞書であるかを確認し、
辞書に対してだけ対応する操作を実行する。
2.3 要素を取得する
辞書の要素の操作は、リストやタプルと似ていて、 角括弧を使うんだ。ただし、要素のインデックスの代わりに、角括弧の中にキーを指定する必要がある。 辞書のキーは文字列、数字、またはタプルのような任意の不変な要素になれる。
辞書[キー]
例:
person = {"name": "Alice", "age": 25, "city": "New York"}
name = person["name"]
print(name) # 出力: Alice
キーが存在しない場合、エラーが発生する:
person = {"name": "Alice", "age": 25, "city": "New York"}
person["country"] # KeyError: 'country'が発生する
メソッドget(key, def_value)
メソッドget()
はキーを用いて安全に値を取得することを可能にする。
キーが存在しない場合、メソッドはデフォルト値(指定されていない場合はNone
)を返す。
これはKeyError
の発生を防ぐよ。
person = {"name": "Alice", "age": 25, "city": "New York"}
age = person.get("age")
print(age) # 出力: 25
country = person.get("country", "USA")
print(country) # 出力: USA
メソッドget()
の第二引数には、指定したキーが辞書にない場合に返す値を
渡すことができる。
メソッドsetdefault()
はget()
メソッドと同様に動作する、
が、キーが辞書に存在しない場合には、新しいキー: 値
ペアを辞書に追加する。
person = {"name": "Alice", "age": 25}
city = person.setdefault("city", "New York")
print(city) # 出力: New York
print(person) # 出力: {'name': 'Alice', 'age': 25, 'city': 'New York'}
GO TO FULL VERSION