字典的get函数怎么用

 2026-04-10  阅读 146  评论 0

摘要:在 Python 中,字典的 `get` 方法用于安全地获取字典中指定键(key)对应的值,避免因键不存在而引发 `KeyError` 异常。它的语法如下:
python
value = dict

在 Python 中,字典的 `get` 方法用于安全地获取字典中指定键(key)对应的值,避免因键不存在而引发 `KeyError` 异常。它的语法如下:

字典的get函数怎么用

python

value = dict.get(key, default=None)

参数说明:

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

    1. 基本用法

    当键存在时返回对应的值;不存在时返回默认值(或 `None`)。

    python

    person = {"name": "Alice", "age": 30}

    键存在

    print(person.get("name")) 输出: Alice

    键不存在,返回默认值 None

    print(person.get("height")) 输出: None

    键不存在,返回自定义默认值

    print(person.get("height", 170)) 输出: 170

    2. 对比普通访问方式

    直接通过 `dict[key]` 访问时,若键不存在会报错,而 `get` 更安全。

    python

    直接访问会报错(KeyError)

    print(person["height"])

    使用 get 避免报错

    print(person.get("height")) 输出: None

    3. 设置默认值为其他类型

    可以返回任意类型的默认值,如空列表、数字、字符串等。

    python

    scores = {"math": 90, "english": 85}

    默认值为空列表

    math_scores = scores.get("physics", [])

    print(math_scores) 输出: []

    默认值为字符串

    gender = scores.get("gender", "unknown")

    print(gender) 输出: unknown

    4. 处理嵌套字典

    安全访问嵌套字典的值,避免逐层检查键是否存在。

    python

    data = {

    user": {

    id": 1,

    profile": {"name": "Bob"}

    安全访问嵌套键

    name = data.get("user", {}).get("profile", {}).get("name")

    print(name) 输出: Bob

    若中间键不存在,返回默认值

    email = data.get("user", {}).get("email", "no-email")

    print(email) 输出: no-email

    注意事项:

  • `get` 不会修改原字典。如果希望键不存在时自动添加默认值,可以使用 `dict.setdefault`。
  • 默认值仅在键不存在时生效,不会存储到字典中。
  • 使用 `get` 方法能更优雅、安全地处理字典键可能不存在的情况,避免程序因 `KeyError` 中断,适合需要兼容缺失键的场景。

    版权声明: 知妳网保留所有权利,部分内容为网络收集,如有侵权,请联系QQ793061840删除,添加请注明来意。

    原文链接:https://www.6g9.cn/bkkp/dd839Az5QUlBQBVQ.html

    发表评论:

    关于我们
    知妳网是一个专注于知识成长与生活品质的温暖社区,致力于提供情感共鸣、实用资讯与贴心服务。在这里,妳可以找到相关的知识、专业的建议,以及提升自我的优质内容。无论是职场困惑、情感心事,还是时尚美妆、健康生活,知妳网都能精准匹配妳的需求,陪伴妳的每一步成长。因为懂妳,所以更贴心——知妳网,做妳最知心的伙伴!
    联系方式
    电话:
    地址:广东省中山市
    Email:admin@qq.com

    Copyright © 2022 知妳网 Inc. 保留所有权利。 Powered by

    页面耗时0.0512秒, 内存占用1.7 MB, 访问数据库19次