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']
getメソッドを用いてキーを指定する方法
辞書の値を検索する際に、辞書のgetメソッドを使用すると、キーが存在しない場合でもエラーにならず、指定したデフォルト値が返されます。
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']
filter関数を使用する方法
filter関数と、lambda式を用いて、キーを検索し、対応する辞書の要素を取得する方法を紹介します。
list_person = [ { 'name':'Taro', 'height':170, 'weight':60 }, { 'name':'Jiro', 'height':180, 'weight':80 }, { 'name':'Hanako', 'height':160, 'weight':50 } ]
print(list(filter(lambda item : item['name'] == 'Taro', list_person))) # [{'name': 'Taro', 'height': 170, 'weight': 60}]
これらの方法を使うことで、効率的に辞書からデータを検索することができます。辞書の検索には、forループやif文を使用します。また、条件の指定方法は、キーと値の組み合わせや論理演算子を使って行います。