python字典值以0开始

3 投票
4 回答
2800 浏览
提问于 2025-04-17 07:51

可能重复的问题:
在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把这个数字当作八进制数来理解。

撰写回答