|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
d={'f': '70', 'i': 105, 's': 115, 'h': 104, 'c': '67'}
b={v:k for k,v in d,items()}
SyntaxError: invalid syntax
b={v:k for k,v in d.items()}
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#65>", line 1, in <module>
c={v:k for k,v in d.items() if v>100}
File "<pyshell#65>", line 1, in <dictcomp>
c={v:k for k,v in d.items() if v>100}
TypeError: '>' not supported between instances of 'str' and 'int'
请教大神,为啥最后会报错呀,大于号不能在字符串和整数之间,都是按照小甲鱼的视频里面的代码敲得呀,怎么他行,我这就不行
您好!这个错误是因为字典 d 中的值(value)有些是整数,有些是字符串,这导致在字典推导式的条件判断时,大于号 '>' 无法在字符串和整数之间进行比较。这就是为什么您收到了这个错误信息。
为了解决这个问题,您可以先将字符串类型的值转换为整数,然后再进行比较。这是一个修改后的代码示例:
- d = {'f': '70', 'i': 105, 's': 115, 'h': 104, 'c': '67'}
- c = {v: k for k, v in d.items() if int(v) > 100}
- print(c)
复制代码
这样,当比较时,所有值都会被转换为整数,避免了类型不匹配的问题。
|
|