知妳网 知妳网-知妳所想,懂妳所需

知妳网

知妳网知你所想为你解忧最懂你的网站

python字典里get

在Python中,字典的`get`方法用于安全地获取键对应的值,避免因键不存在而引发`KeyError`异常。以下是其核心要点和使用示例:

python字典里get

语法

python

dict.get(key, default=None)

  • `key`: 需要查找的键。
  • `default`: 可选参数,键不存在时返回的值(默认为`None`)。
  • 使用场景

    1. 避免KeyError:

    当不确定键是否存在时,使用`get`可安全返回默认值:

    python

    d = {'a': 1, 'b': 2}

    print(d.get('a')) 输出: 1

    print(d.get('c')) 输出: None

    print(d.get('c', 0)) 输出: 0

    2. 多层嵌套字典:

    链式调用`get`处理嵌套结构:

    python

    data = {'a': {'b': 2}}

    value = data.get('a', {}).get('b', 0) 存在时返回2,否则返回0

    3. 默认值为可变对象:

    每次调用返回新的默认对象,避免意外修改:

    python

    value = d.get('key', [])

    value.append(1) 原字典不变,value为新列表

    对比`setdefault`

  • `get`: 仅返回值,不修改原字典。
  • `setdefault`: 若键不存在,则设置默认值并返回,会修改原字典。
  • python

    d = {'a': 1}

    d.setdefault('c', 0) 添加 'c': 0 到字典

    注意事项

  • 性能:`get`的时间复杂度为O(1),与直接访问键值相当。
  • 默认值类型:确保中间层`get`返回的类型正确(如嵌套字典时返回空字典`{}`)。
  • `get`是处理字典键不确定时的最佳实践,结合合理默认值可使代码更健壮。在需要“获取并设置”的场景下,改用`setdefault`。