python字典取值的几种方法

 2025-08-31  阅读 82  评论 0

摘要:1. 方括号直接访问 `dict[key]`
用法:通过键直接访问值。
特点:键存在时返回值;不存在时抛出 `KeyError`。
适用场景:确定键存在时快速取值。
python
d = {

1. 方括号直接访问 `dict[key]`

  • 用法:通过键直接访问值。
  • 特点:键存在时返回值;不存在时抛出 `KeyError`。
  • 适用场景:确定键存在时快速取值。
  • python

    python字典取值的几种方法

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

    print(d['a']) 输出:1

    print(d['c']) KeyError

    2. `get` 方法:`dict.get(key, default=None)`

  • 用法:安全地获取值,键不存在时返回默认值(默认为 `None`)。
  • 特点:避免 `KeyError`,适合不确定键是否存在的情况。
  • python

    value = d.get('c', 0) 键不存在,返回默认值0

    print(value) 输出:0

    3. `setdefault` 方法:`dict.setdefault(key, default)`

  • 用法:键存在时返回值;不存在时设置键为默认值并返回。
  • 特点:适用于需要初始化键值对的场景。
  • python

    d.setdefault('c', 3) 键'c'不存在,设置d['c'] = 3

    print(d['c']) 输出:3

    4. 检查键存在性:`key in dict`

  • 用法:先检查键是否存在,再决定是否取值。
  • 特点:避免异常,代码更易读。
  • python

    if 'c' in d:

    value = d['c']

    else:

    value = 0

    5. `pop` 方法:`dict.pop(key, default)`

  • 用法:取出键对应的值并删除该键。
  • 特点:适用于需要删除键的场景,可指定默认值避免异常。
  • python

    value = d.pop('b', None) 取出2并删除键'b'

    print(value) 输出:2

    6. 遍历方法:`keys`、`values`、`items`

  • 用法:遍历所有键、值或键值对。
  • 特点:用于批量操作或迭代处理。
  • python

    遍历所有键

    for key in d.keys:

    print(key)

    遍历所有值

    for value in d.values:

    print(value)

    遍历所有键值对

    for key, value in d.items:

    print(f"{key}: {value}")

    7. 使用 `collections.defaultdict`

  • 用法:创建字典时指定默认值类型,访问不存在的键时自动生成默认值。
  • 特点:适合需要预设默认值(如列表、整数)的场景。
  • python

    from collections import defaultdict

    dd = defaultdict(int) 默认值为0

    print(dd['new_key']) 输出:0

    8. 异常处理:`try-except` 块

  • 用法:捕获 `KeyError` 异常。
  • 特点:适用于频繁访问可能不存在的键的场景。
  • python

    try:

    value = d['c']

    except KeyError:

    value = 0

    9. 字典推导式

  • 用法:通过表达式生成新字典。
  • 特点:用于转换或过滤字典中的值。
  • python

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

    squared = {k: v2 for k, v in d.items}

    print(squared) 输出:{'a': 1, 'b': 4}

    | 方法 | 特点 | 适用场景 |

    ||-|-|

    | `dict[key]` | 快速但可能抛出异常 | 确保键存在时使用 |

    | `get` | 安全返回默认值 | 不确定键是否存在时 |

    | `setdefault` | 设置并返回默认值 | 初始化键值对 |

    | `in` 检查 | 避免异常 | 需要条件判断时 |

    | `pop` | 删除键并返回值 | 需要删除键时 |

    | `defaultdict` | 自动处理缺失键 | 预设默认值类型(如统计计数) |

    | 异常处理 | 灵活控制错误逻辑 | 复杂逻辑中处理缺失键 |

    | 字典推导式 | 批量转换或过滤 | 生成新字典 |

    根据具体需求选择合适的方法,确保代码的健壮性和可读性。

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

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

    发表评论:

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

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

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