字典中字典的Python增量值

时间:2015-03-20 16:52:15

标签: python dictionary nested

有没有办法做类似的事情:

if key in myDict:
   if innerKey in myDict[key].innerKeys:
      myDict[key].update({innerKey:getInnerValue()+1})
   else:
      myDict[key].update({innerKey:0})

我想要的是如下结构:

{key1:{innerKey1:counter, InnerKey2:counter... }, key2:{innerkey3:counter}...}

2 个答案:

答案 0 :(得分:4)

您可以使用inand运算符更简洁地检查一行中的内部键。这是有效的,因为如果if中不存在Falsekey语句将立即评估为myDict

if key in myDict and innerkey in myDict[key]:
      myDict[key][innerKey] += 1
elif key in myDict:
      myDict[key][innerKey] = 0   

答案 1 :(得分:1)

是的,这是可能的。然而,语法有点不同。

if key in myDict:
    if innerKey in myDict[key]:
        myDict[key][innerKey] += 1
    else:
        myDict[key][innerKey] = 0
相关问题