66789


Pythonで、以下のような辞書があった場合

[code]

    fruitsDict = {'fruitsA': {'name': 'apple', 'price': 100}, 'fruitsB': {'name': 'banana', 'price': 110},'fruitsC': {'name': 'orange', 'price': 200}}
    
[/code]

nameに'orange'が含まれる要素があるかどうかを探して  
あればpriceの値を取得するにはどうしたら良いですか？

なければNoneなどの値を取得したいです。


CC BY-SA 4.0
2020-05-19T11:57:41.233
66775
2020-05-19T17:27:41.323
34471
question
python
Pythonで多次元辞書の中から特定の要素があるか検索し、あれば値を取得したい


辞書fruitsDict内の値(辞書)から子辞書のリストを作って、子辞書のキーが'orange'の値(price)のリストを作るコードの例です。

[code]

    # nameに'orange'が含まれるprice
    price = [v['price'] for v in [v for v in fruitsDict.values()] if 'orange' in v['name']]
    # nameが'orange'のprice
    price = [v['price'] for v in [v for v in fruitsDict.values()] if v['name'] == 'orange']
    
[/code]

該当するものがなければ空のリストになります。


CC BY-SA 4.0
2020-05-19T17:22:36.717
66789
2020-05-19T17:27:41.323
2020-05-19T17:27:41.323
35558
35558
66775
answer