python字典key为数字

 2026-04-12  阅读 52  评论 0

摘要:在Python中,字典的键可以是任何不可变类型(如整数、浮点数、字符串、元组等),因此数字(包括 `int`、`float` 等)完全可以作为字典的键。以下是关于数字作为键的详细说明和注意事项:
1

在Python中,字典的键可以是任何不可变类型(如整数、浮点数、字符串、元组等),因此数字(包括 `int`、`float` 等)完全可以作为字典的键。以下是关于数字作为键的详细说明和注意事项:

python字典key为数字

1. 基本用法

直接使用数字作为键,语法与其他类型的键一致:

python

my_dict = {

1: "apple",

2: "banana",

3.14: "pi",

-5: "negative

print(my_dict[1]) 输出: apple

print(my_dict[3.14]) 输出: pi

2. 不同类型数字键的区别

  • 整数和浮点数 虽然数值相等但类型不会被视为不同的键:
  • python

    d = {1: "int", 1.0: "float"}

    print(d) 输出: {1: 'float'}(因为 1 == 1.0 为 True,键被覆盖)

    这里 `1` 和 `1.0` 的哈希值相同且相等,导致后者覆盖前者。若需要区分,需确保类型不同且不相等:

    python

    d = {1: "int", 2.0: "float"} 1 != 2.0,视为不同键

  • 布尔值陷阱:`True` 和 `False` 是 `int` 的子类(`True == 1`,`False == 0`),可能导致意外覆盖:
  • python

    d = {True: "yes", 1: "no"}

    print(d[True]) 输出: no(True 和 1 被视为相同键)

    3. 键的不可变性

    数字本身不可变,因此完全合法作为键。但若使用可变类型(如列表)作为键会引发错误:

    python

    错误示例:列表不可哈希

    invalid_dict = { [1, 2]: "value" } 报错: TypeError

    4. 访问和修改键值

  • 直接访问:必须使用键的原始类型和值:
  • python

    d = {1: "one"}

    print(d[1]) 正确

    print(d["1"]) KeyError(字符串 '1' 与整数 1 不同)

  • 动态操作
  • python

    d = {}

    key = 42

    d[key] = "answer

    d[key] = "new answer" 覆盖原有值

    5. 遍历数字键

    字典遍历时,键的顺序在Python 3.7+中遵循插入顺序:

    python

    d = {3: "three", 1: "one", 2: "two"}

    for k in d:

    print(k, d[k]) 输出顺序: 3 → 1 → 2

    6. 适用场景

  • 当需要非连续或稀疏的整数索引时,字典比列表更高效。
  • 适用于需要将数值映射到特定数据的场景,如计数器、配置参数等。
  • 7. 注意事项

  • 哈希冲突:不同数字可能哈希相同,但Python内部会自动处理,无需手动干预。
  • 类型一致性:确保访问键时类型一致,避免 `KeyError`。
  • 避免混淆:谨慎混合使用 `int`、`float` 和 `bool` 类型作为键。
  • 示例代码

    python

    创建字典

    scoreboard = {

    100: "完美",

    90: "优秀",

    80: "良好",

    70.5: "及格

    添加新键值

    scoreboard[60] = "补考

    修改值

    scoreboard[70.5] = "需努力

    检查键是否存在

    if 90 in scoreboard:

    print("90分存在!")

    遍历字典

    for score, result in scoreboard.items:

    print(f"得分 {score}: {result}")

    输出:

    90分存在!

    得分 100: 完美

    得分 90: 优秀

    得分 80: 良好

    得分 70.5: 需努力

    得分 60: 补考

    通过合理使用数字键,可以高效地管理键值对数据。

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

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

    发表评论:

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

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

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