访问不总是存在于多个词典中的密钥

2024-10-03 11:24:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我想遍历字典并访问唯一的键值。例如,我想打印'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']

但运气不好。你知道吗


Tags: 字典firstname键值bobsmithkey2key1joe
2条回答

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

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

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

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

考虑到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键,则返回默认值

相关问题 更多 >