python字典值以0开头

时间:2011-12-07 00:39:04

标签: python dictionary

  

可能重复:
  Not getting exact result in python with the values leading zero. Please tell me what is going on there

我想创建字典,其值以0开头。但是,在我创建字典值后有所改变。我做错了什么?

>>> sample={'first_value':0123456}
>>> sample
{'first_value': 42798}

4 个答案:

答案 0 :(得分:6)

领先的零告诉Python将其解释为八进制数。

答案 1 :(得分:2)

0开头的数字被视为octal。您需要将数字临时包装在一个字符串中,或​​者在使用前将123456格式设置为前导零;两次都无法获得带前导零的整数(只是一个数字字符串)。

选项1:

>>> sample={ 'first_value' : '0123456' }
>>> sample['first_value']
'0123456'

选项2:

>>> sample={ 'first_value' : 123456 }
>>> '{0:07}'.format(sample['first_value'])
'0123456'

答案 2 :(得分:1)

前导零使值为octal number

答案 3 :(得分:0)

当你写0123456时,它被解释为base-8,即42798十进制