python中字典如何取值

 2025-08-27  阅读 51  评论 0

摘要:1. 直接通过键访问
使用方括号 `[]` 直接根据键取值:
python
student = {'name': 'Alice', 'age': 20}
print(student['name

1. 直接通过键访问

使用方括号 `[]` 直接根据键取值:

python中字典如何取值

python

student = {'name': 'Alice', 'age': 20}

print(student['name']) 输出: Alice

  • 特点:若键不存在,会抛出 `KeyError` 异常。
  • 适用场景:确定键存在时使用。
  • 2. 使用 `get` 方法

    通过 `get(key, default=None)` 安全取值:

    python

    print(student.get('name')) 输出: Alice

    print(student.get('grade', 'N/A')) 输出: N/A(键不存在时返回默认值)

  • 特点:键不存在时返回 `None` 或指定的默认值,避免报错。
  • 3. 处理嵌套字典

    逐层访问嵌套结构:

    python

    student = {'info': {'name': 'Alice', 'age': 20}, 'grades': [85, 90]}

    print(student['info']['age']) 输出: 20

    print(student['grades'][0]) 输出: 85

    使用 get 逐层安全访问

    print(student.get('info', {}).get('age')) 输出: 20(即使 'info' 不存在也不会报错)

    4. 检查键是否存在

  • 使用 `in` 关键字:
  • python

    if 'name' in student:

    print(student['name'])

  • 异常处理(`try-except`):
  • python

    try:

    value = student['grade']

    except KeyError:

    value = 'N/A'

    5. 其他实用方法

  • 获取所有键、值、键值对
  • python

    keys = student.keys 所有键(视图对象)

    values = student.values 所有值(视图对象)

    items = student.items 键值对元组的列表(视图对象)

  • `setdefault`:若键不存在,设置默认值并返回:
  • python

    grade = student.setdefault('grade', 'A') 插入 'grade': 'A' 并返回 'A'

  • 批量获取多个键的值
  • python

    from operator import itemgetter

    getter = itemgetter('name', 'age')

    print(getter(student)) 输出: ('Alice', 20)

    总结

  • 直接访问 `[]`:适合键一定存在的场景。
  • `get` 方法:避免 `KeyError`,可设置默认值。
  • 嵌套字典:逐层访问或结合 `get` 逐层处理。
  • 键的存在性检查:`in` 或 `try-except` 结构。
  • 高级操作:`setdefault`、`itemgetter` 等按需使用。
  • 根据场景选择合适方法,确保代码健壮性。例如,优先使用 `get` 处理不确定的键,而直接访问适合明确键存在的场景。

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

    原文链接:https://www.6g9.cn/qwsh/ddb89AD5WVlJV.html

    发表评论:

    管理员

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

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

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