我不明白为什么下面的代码给出了True,False,True结果。比较字符串与数字 - Python
print("3" < "4")
print("3" < "10")
print("3" < "30")
据我所知,第一和第三代码,但为什么不print("3" < "10")
给予True
响应。
感谢
我不明白为什么下面的代码给出了True,False,True结果。比较字符串与数字 - Python
print("3" < "4")
print("3" < "10")
print("3" < "30")
据我所知,第一和第三代码,但为什么不print("3" < "10")
给予True
响应。
感谢
从python文档上comparison操作:
字符串是字典顺序用数字等同其字符(内置函数ORD()的结果)进行比较。
字符比较从第一个字符开始,逐步比较字符串,直到找到字符差异。
你的第二个语句返回False
因为:
ord("3") > ord ("1")
链接建议会给你精心制作的答案。但是因为我假设你正在开始编程,所以我试图采用一种非常简单的方法来解释。
对于字符串,只要你开始写:
"ab"<"bc"
"30"<"400"
想象一下:
['a', 'b'] <['b', 'c']
['3', '0'] <['1', '0', '0']
现在做出比较两个列表的第一要素,只有移动到下一个元素,如果它们相等:
第一个应该是True。 第二个应该是False。
遵循同样的逻辑,并尝试:
'30'<'31'
应该评估为True。