Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python数字字符串比较_Python_String_Types_Comparison - Fatal编程技术网

python数字字符串比较

python数字字符串比较,python,string,types,comparison,Python,String,Types,Comparison,我有从JSON对象加载的数值,因此都是字符串 我在与这些字符串进行数字比较时遇到问题。下面的内容对我来说毫无意义,我希望你们中的一位冠军能够解释 In[2]: print '100' < '45' True In[3]: print '99' < '45' False [2]中的:打印'100''b'>>'a'

我有从
JSON
对象加载的数值,因此都是字符串

我在与这些字符串进行数字比较时遇到问题。下面的内容对我来说毫无意义,我希望你们中的一位冠军能够解释

In[2]: print '100' < '45'
True

In[3]: print '99' < '45'
False
[2]中的
:打印'100'<'45'
真的
在[3]中:打印'99'<'45'
假的

在比较字符串时,使用Python 2.7

通过字符的ascii值对字符串进行比较<代码>'1'的值为49,
'4'
的值为52。所以
'1'
就是
'4'
<代码>'9'但是是57,所以
'9'
是>'
4'

如果您想以数字形式比较它们,您可以先将字符串如下所示:

print int('100') < int('45')
print int('100')
它基本上检查字典顺序。 检查文件-

>>'b'>>'a'<'b'
真的

在上面的例子中,a在b之前,因此
'a'你是否验证过你的声明-'599999999999'<'1'是真的我的错,我的意思是这样的
'1999'<'5'
。在答案中编辑。谢谢@alokthakurt您提供的文档链接对我非常有帮助。我最终将字典中的所有值转换为
float
,尽管我必须使用if循环解释
nan
,因为客户端(Chrome)的
JSON
解析器抛出了一个
nan
错误,我不得不将
NaN
替换为
None
(请参阅)
>>> 'b' <'a'
False
>>> 'a' < 'b'
True