鱼C论坛

 找回密码
 立即注册
查看: 213|回复: 5

[已解决]照着视频上输的,还错了~

[复制链接]
发表于 2024-8-16 15:55:53 | 显示全部楼层 |阅读模式

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

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

x
就像标题说的一样,我是照着视频输的。
d
{'F': '70', 'i': '105', 's': '115', 'h': '104', 'C': '67'}
b={v:k for k,v in d.items()}
d
{'F': '70', 'i': '105', 's': '115', 'h': '104', 'C': '67'}
b
{'70': 'F', '105': 'i', '115': 's', '104': 'h', '67': 'C'}
c={v:k for k,v in d.items() if v>100}
Traceback (most recent call last):
  File "<pyshell#99>", line 1, in <module>
    c={v:k for k,v in d.items() if v>100}
TypeError: '>' not supported between instances of 'str' and 'int'
我英语又不好。
最佳答案
2024-8-16 16:49:22
这个字典中的数值加了引号了代表的是字符串类型,推导式中的100是整形,整形和字符串类型不支持使用>。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-8-16 16:49:22 | 显示全部楼层    本楼为最佳答案   
这个字典中的数值加了引号了代表的是字符串类型,推导式中的100是整形,整形和字符串类型不支持使用>。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-8-16 16:54:57 | 显示全部楼层
去掉引号才是数字
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-8-16 17:00:47 | 显示全部楼层
sunshine_8205 发表于 2024-8-16 16:49
这个字典中的数值加了引号了代表的是字符串类型,推导式中的100是整形,整形和字符串类型不支持使用>。

c={v:k for k,v in d.items() if int(v)>100}
把v转换成int类型
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-8-17 17:59:05 | 显示全部楼层
v不是整数类型,所以无法比较
@FishC
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-8-17 18:17:16 | 显示全部楼层
三体人的智子 发表于 2024-08-17 17:59
v不是整数类型,所以无法比较
@FishC


哈哈,看来你的代码在和你开玩笑呢!“V”这个小家伙不愿意被当作整数来比较,这可真是个挑剔的小东西。

在很多编程语言中,只有整数类型(比如 int)才能直接进行数字比较。如果你手里的“v”不是整数类型,比如说它是字符串、浮点数(float)或者别的什么,程序就会说:“抱歉,我不跟你玩儿。”

要解决这个问题,你可以试着将“v”转换为整数,像这样:
v = "5"  # 假设v是个字符串
v_int = int(v)  # 将其转换为整数

记得确认“v”可以安全转换成整数哦,不然可能会出现突如其来的错误,像是碰到外星人那样让你惊慌失措!

总之,在比较之前,确保每个人都是同一类型的小伙伴,就能愉快地一起玩耍了!希望这能帮助到你,如果还有其他问题,随时问我哦!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 16:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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