从字典中获取特定价值

sam*_*sam 2 python dictionary

如何从python中的字典中获取特定键?

我有一本字典:

dict = {'redorange':'1', 'blackhawak':'2', 'garlicbread':'3'} 
Run Code Online (Sandbox Code Playgroud)

我想得到那个含有大蒜的钥匙的价值.
我怎么能实现它?

eum*_*iro 9

我们打电话给你的字典d:

print [v for k,v in d.iteritems() if 'garlic' in k]
Run Code Online (Sandbox Code Playgroud)

打印所有相应值的列表:

['3']
Run Code Online (Sandbox Code Playgroud)

如果您知道您想要一个值:

print next(v for k,v in d.iteritems() if 'garlic' in k)
Run Code Online (Sandbox Code Playgroud)

版画

'3'
Run Code Online (Sandbox Code Playgroud)

StopIterationError如果没有找到这样的键/值,则会引发此问题.添加默认值:

print next((v for k,v in d.iteritems() if 'garlic' in k), None)
Run Code Online (Sandbox Code Playgroud)

拿到None如果这样的关键是没有找到(或使用其他默认值).