我想将整数格式化为字符串,以便在没有符号的情况下,它们将被零填充以具有至少两位数字。
例如我想要
1
-1
10
-10
to be
01
-01
10
-10
具体来说,我想要负数 (3) 和非负数 (2) 具有不同的最小字符串长度。简单的数字填充详情here https://pyformat.info/#number_padding是不够的。这可能吗?
你可以用str.format
,但在大小上加 1 以将负数考虑在内:
l = [1,-1,10,-10,4]
new_l = ["{1:0{0}d}".format(2 if x>=0 else 3,x) for x in l]
print(new_l)
result:
['01', '-01', '10', '-10', '04']
它有效是因为format
接受嵌套表达式:您可以传递大小 ({:02d}
or {:03d}
)也可以作为格式项,省去了在第一遍中格式化格式字符串的麻烦。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)