python 字典和*

 2025-09-14  阅读 26  评论 0

摘要:Python中的字典(dict)和*(set)是两种高效的数据结构,适用于不同的场景。以下是它们的核心概念和用法
字典(Dictionary)
定义:键值对*,用 `{}` 表示,键必须为不可

Python中的字典(dict)和*(set)是两种高效的数据结构,适用于不同的场景。以下是它们的核心概念和用法

python 字典和*

字典(Dictionary)

  • 定义:键值对*,用 `{}` 表示,键必须为不可变类型(如字符串、数字、元组),值可以是任意类型。
  • python

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

  • 操作
  • 访问值:`person['name']`(键不存在会报错)或 `person.get('address', '默认值')`(安全方式)。
  • 设置默认值:`person.setdefault('gender', 'female')`。
  • 更新字典:`person.update({'age': 31})` 或 Python 3.9+ 的 `|` 运算符。
  • 遍历
  • python

    for key in person: ... 遍历键

    for key, value in person.items: ... 遍历键值对

  • 视图对象
  • `keys`、`values`、`items` 返回动态视图,实时反映字典变化。
  • 字典推导式
  • python

    squares = {x: x2 for x in range(5)} {0:0, 1:1, 2:4, ...}

    *(Set)

  • 定义:无序且元素唯一的*,用 `{}` 或 `set` 创建,元素必须为不可变类型。
  • python

    unique_numbers = {1, 2, 3}

  • 操作
  • 添加/删除:`add(elem)`、`remove(elem)`(元素不存在报错)、`discard(elem)`(不报错)、`pop`(随机删除)。
  • *运算
  • 并集:`a | b` 或 `a.union(b)`
  • 交集:`a & b` 或 `a.intersection(b)`
  • 差集:`a
  • b` 或 `a.difference(b)`
  • 对称差集:`a ^ b` 或 `a.symmetric_difference(b)`
  • 不可变*:`frozenset` 可用作字典的键或*的元素。
  • python

    fs = frozenset([1, 2, 3])

  • *推导式
  • python

    letters = {c for c in 'abracadabra' if c not in 'abc'} {'d', 'r'}

    关键区别

    | 特性 | 字典(dict) | *(set) |

    |-|||

    | 元素结构 | 键值对(key: value) | 单个元素 |

    | 有序性 | Python 3.7+ 有序 | 始终无序 |

    | 主要用途 | 快速通过键查找值 | 去重、成员检测 |

    | 哈希要求 | 键必须可哈希 | 元素必须可哈希 |

    应用场景

    1. 字典

  • 存储对象属性(如用户信息)。
  • 统计词频:`{word: text.count(word) for word in words}`。
  • 2. *

  • 去重:`unique_words = set(words)`。
  • 检查成员:`if item in unique_words: ...`。
  • 注意事项

    1. 避免遍历时修改:遍历字典时如需删除元素,先*键列表:

    python

    for key in list(dict.keys):

    if condition: del dict[key]

    2. 哈希冲突:自定义对象作为键时,需正确实现 `__hash__` 和 `__eq__`。

    3. 版本兼容性:Python 3.7+ 中字典有序,旧版本需用 `collections.OrderedDict`。

    掌握字典和*的使用,能显著提升代码效率和简洁性!

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

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

    标签:字典python

    发表评论:

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

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

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