Pythonでは、リスト内の辞書を検索するためのいくつかの方法があります。ここでは、その中でも特に一般的な方法をいくつか紹介します。
キーを直接指定する方法
リスト内の辞書から特定のキーに対応する値を取得する最も直接的な方法は、キーを直接指定することです。以下にその例を示します。
list_person = [
{'name':'Taro', 'height':170, 'weight':60},
{'name':'Jiro', 'height':180, 'weight':80},
{'name':'Hanako', 'height':160, 'weight':50}
]
l_name = [d['name'] for d in list_person]
print(l_name) # ['Taro', 'Jiro', 'Hanako']
この方法では、list_person
から辞書型の要素を1つずつ取り出し、d
に渡しています。そして、d['name']
でキー'name'
に対応する値を抽出し、新たなリストを作成しています。
ただし、この方法ではキーが存在しない場合はKeyError
が発生します。そのため、キーが必ず存在することが保証されている場合にのみ使用することをおすすめします。
getメソッドを用いる方法
キーが存在しない場合でもエラーを回避したい場合は、辞書のget
メソッドを使用すると良いでしょう。get
メソッドを使用すると、キーが存在しない場合でもエラーにならず、指定したデフォルト値が返されます。デフォルト値は省略可能で、省略した場合はNone
が返されます。
list_person = [
{'name':'Taro', 'height':170, 'weight':60},
{'name':'Jiro', 'height':180, 'weight':80},
{'name':'Hanako', 'height':160, 'weight':50}
]
l_name = [d.get('name') for d in list_person]
print(l_name) # ['Taro', 'Jiro', 'Hanako']
l_age = [d.get('age') for d in list_person]
print(l_age) # [None, None, None]
この例では、存在しないキー'age'
を指定した場合でも、エラーにはならずNone
が返されています。
これらの方法を活用することで、Pythonのリスト内の辞書を効率的に検索することができます。