我想从字典中检索一个值,其中键具有多个值。在某些情况下,没有密钥匹配,所以我想返回None
。使用单值键作为dictionary.get(key,None)
可以轻松实现这一点,但使用每个键的多个值可以轻松实现此目的吗?
import datetime
test = {
u'ID1': {'End Date': None, 'Start Date': datetime.datetime(2014, 9, 22, 0, 0)},
u'ID2': {'End Date': None, 'Start Date': datetime.datetime(2014, 9, 18, 0, 0)}
}
print test.get('ID1','Start Date',None)
print test.get('ID3','Start Date',None)
答案 0 :(得分:1)
您有一个嵌套字典,需要执行两次查找。您可以创建一个能够完成您所需要的功能。
def getNestedDict(d, key1, key2, default):
result1 = d.get(key1)
if result1 is None:
return default
else:
return result1.get(key2, default)
print getNestedDict(test, 'ID1', 'Start Date', None)
答案 1 :(得分:1)
test.get('ID1', {}).get('Start Date')
或者:
try:
return test['ID1']['Start Date']
except KeyError:
return None