代码之家  ›  专栏  ›  技术社区  ›  SRobertJames

如何找到Python dict中缺少的键?

  •  -2
  • SRobertJames  · 技术社区  · 4 年前

    d 是一条蟒蛇 dict range(x) 映射,并将其设置为默认值?

    我不想只保留dict的默认值,因为我希望缺少的int出现在 d.items() .

    3 回复  |  直到 4 年前
        1
  •  2
  •   Samwise    4 年前

    setdefault

    for i in range(x):
        d.setdefault(i, 42)
    

    请注意 设置默认值 为了那把钥匙 (不是整个字典),当且仅当该键尚未设置为其他项时。

    你也可以使用理解 get d :

    d = {i: d.get(i, 42) for i in range(x)}
    
        2
  •  2
  •   tdelaney    4 年前

    dict.keys() range . 应用XOR works

    >>> d = {1:1, 2:2, 3:3}
    >>> d.update((k, None) for k in (d.keys() ^ range(10)))
    >>> d
    {1: 1, 2: 2, 3: 3, 0: None, 4: None, 5: None, 6: None, 7: None, 8: None, 9: None}
    
        3
  •  0
  •   Terminologist    4 年前

    for i in range(x):
        d[i] = d.get(i, 42)