显示最小宽度为0的数字

2024-10-04 03:20:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我已搜索但只找到显示前导零的项,而不是此边缘大小写: 我需要有一个数字格式的Excel的#的等价物(这将导致0显示一个长度为零的结果,或空字符串)

如果我这样做了

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

我明白了

prefix00 

(正如pep3101所期望的那样),但是指定0的宽度并不能产生我所需要的。有点像

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

生产

prefix

而不是

prefix0

就像我现在得到的。这在字符串格式函数中是否不一致?有没有一种方法可以在格式说明符中创建它(而不是显式的零测试?)你知道吗


Tags: 方法函数字符串formatprefix宽度格式数字
2条回答

你可以用这个:

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

或者

f"prefix{n or ''}"

Ternary conditional format pattern获胜:

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

输出:

prefix
prefix01
prefix02
prefix03
prefix04

模式会根据k的值进行更改—如果在它工作的格式中有太多的参数,那么太少的参数会抛出索引器。你知道吗


你也可以去

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

使用python3.6字符串文字插值。你知道吗

相关问题 更多 >