访问并非始终存在于多个词典中的键

时间:2017-08-31 05:31:29

标签: python dictionary

我想遍历字典并访问唯一键值。例如,我想打印'maidenName'的值

{'key1': {'firstName': 'bob',
          'lastName': 'smith',
          'middleName': 'joe'},
'key2': {'firstName': 'jane',
          'lastName': 'jackson',
          'middleName': 'marie',
          'maidenName': 'sanchez'}}

通常,我会通过以下方式遍历字典:

for k,v in dict.items():
    print v['maidenName']

但没有运气。

2 个答案:

答案 0 :(得分:3)

代码抛出错误,因为第一个代码中不存在maidenName。 您可以使用dict.get()来避免这种情况:

for k,v in dict.items():
    print v.get('maidenName')

您还可以使用get打印不存在婚前姓名的消息,例如: G:

for k,v in dict.items():
    print v.get('maidenName', '<no maiden name given>')

答案 1 :(得分:2)

考虑Dict是:

>>> dict = {'key1': {'firstName': 'bob',
...                  'lastName': 'smith',
...                  'middleName': 'joe'},
...         'key2': {'firstName': 'jane',
...                  'lastName': 'jackson',
...                  'middleName': 'marie'},
...         'maidenName': 'sanchez'}

应该有效:

>>> print dict['maidenName']
sanchez

或如果您不确定该密钥是否存在

>>> dict.get('maidenName','default_return_data')
'sanchez'

如果在dict中存在的maidenName键,则上面将返回 default_return_data