如果每个输入项少于5个字符,我想填充空格
然后将每个填充为5个字符。
如何使用Python
input = [477 , 4770, 47711]
output = ["477 ", "4770 ", "47711"]
答案 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语句将相应数量的空格附加到字符串。