繁体   English   中英

Python在字典中存储带有前导零的数字

[英]Python storing number with leading zeros in Dictionary

我有一本叫做桌子的字典。 我想将此号码分配给以下dic键。 它一直给我一个错误,说“无效的令牌”。 我试图将其转换为字符串,整数和浮点数,但无济于事

table['Fac_ID'] = 00000038058

您会不当地调用Python 2.x八进制模式,但是:

  • 您不能因为里面有8个(运气不好还是好运?)
  • 在python 3中(也适用于python 2.7),八进制前缀不再为0而是0o :无效令牌因此而出现。

最好存储没有前导零的值,并在打印时添加前导零

print("%012d"%table['Fac_ID'])

不要将其转换为字符串,请首先将其用作字符串:

>>> table['Fac_ID'] = str(00000038058)
  File "<stdin>", line 1
    table['Fac_ID'] = str(00000038058)
                                    ^
SyntaxError: invalid token
>>> table['Fac_ID'] = '00000038058'
>>> print table['Fac_ID']
00000038058

作为任何函数,str都会在传入参数之前对参数求值,因此,如果在str之前存在无效的标记,则使用str不会更改该值。 您需要使用有效的令牌,因此只需对字符串进行硬编码即可。

用引号将数字引起来。

table ['Fac_ID'] =“ 00000038058”

您可以使用zfill填充零。 假设您要填充11个零:

>>> str(38058).zfill(11)
'00000038058'

显然,这将创建一个零填充字符串,以用作基于整数的键。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM