如何在最后填充空格以使字符串是固定长度的

时间:2015-04-01 12:35:57

标签: python

如果每个输入项少于5个字符,我想填充空格

然后将每个填充为5个字符。

如何使用Python

input = [477 , 4770, 47711]

output = ["477  ", "4770 ", "47711"]

5 个答案:

答案 0 :(得分:3)

使用format

>>> input = [477 , 4770, 47711,]
>>> ["{:<5}".format(i) for i in input]
['477  ', '4770 ', '47711']

>>> list(map("{:<5}".format , input))          # Just Another Way using map
['477  ', '4770 ', '47711']

答案 1 :(得分:3)

您可以使用str.ljust

>>> lst = [477 , 4770, 47711,]
>>> [str(x).ljust(5) for x in lst]
['477  ', '4770 ', '47711']

答案 2 :(得分:1)

您可以使用此解决方案。

input = [477 , 4770, 47711,]
[str(i).ljust(5) for i in input]

导致......

['477  ', '4770 ', '47711']

答案 3 :(得分:1)

或者.format可以使用ljust

示例:

>>> x = 'padme'
>>> x = x.ljust(10, ' ')
>>> x
'padme     '

还有rjust来添加前导字符。

答案 4 :(得分:0)

您必须遍历整个字符串以计算数字。但在这种情况下,我认为你可以使用count()(这是技术上仍在迭代中),然后使用if语句将相应数量的空格附加到字符串。