如何创建一个"全部捕获" python字典的关键?

时间:2017-04-10 13:39:30

标签: python dictionary

对于python字典,如果请求的密钥不存在,是否可以创建字典默认的密钥?

编辑:我无法理解下面及以上解决方案如何解决问题

如果我要求字典[' xxx']其中xxx不是已知值或变量,它可以是任何字符串,我怎样才能使用字典[' key']和dictionary.get(' key',' defaultvalue')

EDIT2:

spouse={John:Joan, Bob:Marry}
当我要求配偶[Dan]时,我应该得到"没有结婚" 对于任何来到用户心中的男性鬃毛都应该这样做,而且它不是字典中的关键

我希望现在更清楚了

defaultdict 评论似乎是唯一有用的

1 个答案:

答案 0 :(得分:0)

当调用可能有或没有给定键的字典时,您可以设置如下默认值:

>>> my_dict = {'color':'red', 'size':'2'}
>>> my_dict.setdefault('style', 'round')
'round'

>>> my_dict = {'color':'red', 'size':'2', 'style':'square'}
>>> my_dict.setdefault('style', 'round')
'square'

关于您编辑过的问题:

  

EDIT2:

spouse={John:Joan, Bob:Marry}
  当我要求配偶[Dan]时,我应该得到"没有结婚"同样应该去   对于任何来到用户心中的男性名字,它不是一个关键   字典

你可以这样做:

>>> spouse = {}
>>> spouse['Jim']='Lucy'
>>> spouse['Alex']='Sandra'
>>> users = ['Dan', 'Phil','Jim','Alex']
>>> for i in range(len(users)):
>>>     s = spouse.setdefault(users[i], 0)
>>>     if s == 0:
>>>         print "%s is not married" % users[i]
>>>     else:
>>>         print "%s's spouse is %s" % (users[i],s)

'Dan is not married'
'Phil is not married'
'Jim's spouse is Lucy'
'Alex's spouse is Sandra'