(Pythonの2.xの)名でalfabeticallyソートのみ一意のキーと値のペアを持つdictsのリスト、リストから辞書値yを経由してdictの値xを取得するにはどのように、名前が同様にユニークです:dicts
dictlist = [
{'name': 'Monty', 'has': 'eggs'},
{'name': 'Terry', 'has': 'bacon'}
]
私は与えられた名前が持っているものを名前で知りたい。以下の作品。
names = ['Monty', 'Terry']
print dictlist[names.index('Terry')]['has']
私はdictlistでの名前と同じ順番で名前だけと並行して、リストを作ったので、私は、リストの順を利用することができます。 (私はループfor
とnames
を記入することができますが、ここでは関係ありません)。
print next((d['has'] for d in dictlist if d['name'] == 'Terry'), None)
をそれはdictlistは名前でソートされていない場合にのみ勧めします:hereから
は、とりわけ、私はこれを行うことができます知っています。
私はこれを行うためのより簡潔な方法がないかと思います。少なくとも最初の方法ほど読みやすいものが望ましいでしょうか?