簡體   English   中英

顯示編號,最小寬度為0

[英]display number with minimum width of 0

我搜索過但只找到顯示前導零的項目,而不是這個邊緣情況:我需要在數字格式中使用等效的Excel#(導致0顯示零長度的結果,或空字符串)

如果我做

i = 0
'{}{:02}'.format('prefix', i)

我明白了

prefix00 

(正如預期的PEP 3101),但是指定寬度為0並不能產生我需要的東西。 這是什么樣的

i = 0
'{}{:0}'.format('prefix', i)

生產

prefix

而不是

prefix0

就像我現在得到的那樣 這在字符串格式函數中是否不一致? 有沒有辦法在格式說明符中創建它(而不是顯式測試為零?)

獲勝的三元條件格式模式

for k in range(5):
    print( ('{}' if k == 0 else '{}{:02}').format('prefix', k))

輸出:

prefix
prefix01
prefix02
prefix03
prefix04

模式根據k的值而改變 - 如果你在格式中有太多的params它可以工作,那么很少會拋出一個IndexError。


你也可以去

for k in range(5):
    print( 'prefix' if k == 0 else f'prefix{k:02}' )

使用python 3.6字符串文字插值。

你可以用這個:

n=0
"{}{}".format("prefix",n or "")

要么

f"prefix{n or ''}"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM