我搜索了但只找到显示前导零的项目,而不是这种边缘情况: 我需要使用数字格式的Excel#等效项(导致0显示零长度或空字符串的结果)
如果我愿意
i = 0
'{}{:02}'.format('prefix', i)
我明白了
prefix00
(如PEP 3101所预期),但是将宽度指定为0不会产生我所需要的。就像
i = 0
'{}{:0}'.format('prefix', i)
生产
prefix
而不是
prefix0
我目前所得到的。这在字符串格式功能中不一致吗?有没有办法在格式说明符中创建它(而不是对零的显式测试?)
答案 0 :(得分:1)
Ternary conditional format pattern获胜:
for k in range(5):
print( ('{}' if k == 0 else '{}{:02}').format('prefix', k))
输出:
prefix
prefix01
prefix02
prefix03
prefix04
模式根据k
的值而变化-如果您在格式中使用的参数太多,则参数会抛出IndexError。
您也可以去
for k in range(5):
print( 'prefix' if k == 0 else f'prefix{k:02}' )
使用python 3.6字符串文字插值。
答案 1 :(得分:0)
您可以使用此:
n=0
"{}{}".format("prefix",n or "")
或
f"prefix{n or ''}"