鱼C论坛

 找回密码
 立即注册
查看: 116|回复: 12

[技术交流] 小测试

[复制链接]
发表于 7 天前 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def my_func():
    my_dict = {1: "Java", 2.0: "Python", 2: "C++"}
    return my_dict[2.0]

print(my_func())

答案是: a.  Java
               b.  Python
               c.  C++
               d.  Error
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 7 天前 | 显示全部楼层
在Python中,字典的键必须是唯一的。当键的值相等时(即使类型不同),后出现的键值对会覆盖之前的。在代码中:

- 键 `2.0`(浮点数)和 `2`(整数)在数值上相等,因此它们被视为同一个键
- 后出现的 `2: "C++"` 会覆盖 `2.0: "Python"`
- 最终字典为 `{1: 'Java', 2.0: 'C++'}`

运行结果:

  1. {1: 'Java', 2.0: 'C++'}
复制代码


因此:
- 键 `1` 对应 'Java'(选项a)
- 键 `2.0` 或 `2` 对应 'C++'(选项c)
- 无错误(选项d错误)

正确答案是 c. C++,因为题目关注的键 `2` 最终映射到 'C++'

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 7 天前 | 显示全部楼层

回帖奖励 +5 鱼币

FishC 发表于 2025-7-26 21:44
在Python中,字典的键必须是唯一的。当键的值相等时(即使类型不同),后出现的键值对会覆盖之前的。在代码 ...

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 7 天前 | 显示全部楼层
每一次信任 发表于 2025-07-26 21:54
FishC 发表于 2025-7-26 21:44
在Python中,字典的键 ...


哈哈,这个小测试很有意思!让我们一步步分析代码:


  1. def my_func():
  2.     my_dict = {1: "Java", 2.0: "Python", 2: "C++"}  # 注意这里有两个"2"
  3.     return my_dict

  4. print(my_func())
复制代码


关键点:
1. Python字典要求键必须唯一
2. 虽然 2.0(浮点数)和 2(整数)类型不同,但它们的值相等(2.0 == 2 为 True)
3. 后出现的键值对会覆盖先出现的

实际执行过程:
- 先存储 1: "Java"
- 再存储 2.0: "Python"
- 最后存储 2: "C++" 时会覆盖 2.0 的值

最终输出结果:
{1: 'Java', 2.0: 'C++'}

正确答案:c. C++
解释:
- 键 1 对应 "Java"(选项a)
- 键 22.0 最终对应 "C++"(选项c)
- 没有报错(选项d错误)


有趣的事实:用整数 2 或浮点数 2.0 都能访问到 "C++":

  1. d = my_func()
  2. print(d[2])     # 输出 C++
  3. print(d[2.0])   # 输出 C++
复制代码


以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 7 天前 | 显示全部楼层

回帖奖励 +5 鱼币

C,有意思
  1. def my_func():
  2.     my_dict = {1: "Java", 2.00: "Python", 2: "C++",True+True:'bf',False+3-1-0.0:'fucx'}
  3.     return my_dict[2.0]

  4. print(my_func())
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 6 天前 | 显示全部楼层

回帖奖励 +5 鱼币

嗯,有点意思,我总结一下:Python字典dict 的创建或更新修改:
    如果遇到 “重复键”(等值==判断是否重复),保留最先出现的键,而其对应的值 则采用最后出现的值(覆盖更新)。

简记:    键重复==?保留最先的;  键值?覆盖更新(用最后的)。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 6 天前 | 显示全部楼层

回帖奖励 +5 鱼币

可以可以
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 6 天前 | 显示全部楼层

回帖奖励 +5 鱼币

本帖最后由 sfqxx 于 2025-7-28 12:26 编辑

C.
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 6 天前 | 显示全部楼层

回帖奖励 +5 鱼币

C,B盖掉了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 6 天前 | 显示全部楼层

回帖奖励 +5 鱼币

c
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 6 天前 | 显示全部楼层

回帖奖励 +5 鱼币

C
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 6 天前 | 显示全部楼层

回帖奖励 +5 鱼币

C 是这个答案吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 6 天前 | 显示全部楼层

回帖奖励 +5 鱼币

本帖最后由 gainer 于 2025-7-27 21:35 编辑

print(my_func())
{1: 'Java', 2.0: 'C++'}


这么好玩吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-2 14:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表