\

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のリスト内の辞書を効率的に検索することができます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です