python字典值以0开始
可能重复的问题:
在Python中,带有前导零的值没有得到准确的结果。请告诉我发生了什么
我想创建一个字典,里面的值是以0开头的。但是,创建字典后,值却发生了变化。我哪里做错了?
>>> sample={'first_value':0123456}
>>> sample
{'first_value': 42798}
4 个回答
1
前面的零让这个数字变成了一个八进制数。
2
以 0
开头的数字被认为是 八进制。这意味着你需要把这个数字暂时放在一个字符串里,或者在使用的时候给 123456
加个前导零;无论哪种方式,你都不能得到一个带前导零的整数(只能得到一个数字字符串)。
选项 1:
>>> sample={ 'first_value' : '0123456' }
>>> sample['first_value']
'0123456'
选项 2:
>>> sample={ 'first_value' : 123456 }
>>> '{0:07}'.format(sample['first_value'])
'0123456'
7
前面的零是告诉Python把这个数字当作八进制数来理解。