簡體   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