リスト内の辞書を検索する方法


data = [
    {'name': 'Alice', 'age': 25, 'country': 'Japan'},
    {'name': 'Bob', 'age': 30, 'country': 'USA'},
    {'name': 'Charlie', 'age': 35, 'country': 'Canada'},
    {'name': 'Alice', 'age': 40, 'country': 'Australia'}
]

このリストから特定の条件に合致する辞書を検索するには、forループを使用して各辞書を順番にチェックする方法があります。以下の例では、nameが"Alice"の辞書を検索しています。

search_name = 'Alice'
result = None
for item in data:
    if item['name'] == search_name:
        result = item
        break
if result:
    print("検索結果:", result)
else:
    print("該当する結果が見つかりませんでした。")

このコードでは、forループを使用してdataリスト内の各辞書を順番にチェックし、nameが検索条件と一致する場合に結果をresult変数に格納しています。

もちろん、他の条件でも同様の方法で検索することができます。例えば、ageが30以上の辞書を検索する場合は、以下のようにコードを変更します。

search_age = 30
results = []
for item in data:
    if item['age'] >= search_age:
        results.append(item)
if results:
    print("検索結果:", results)
else:
    print("該当する結果が見つかりませんでした。")

上記のコードでは、resultsリストに条件に合致する辞書を追加しています。

これらの例を参考にして、リスト内の辞書を検索する方法を自分の要件に合わせて実装してみてください。また、検索条件の組み合わせや複雑な検索にも応用することができます。