我想每一个输入项的填充空间,如果少于5个字符,如何填充空间到底,使串固定lenght
然后每个长填充到5个字符。
如何使用Python
input = [477 , 4770, 47711]
output = ["477 ", "4770 ", "47711"]
我想每一个输入项的填充空间,如果少于5个字符,如何填充空间到底,使串固定lenght
然后每个长填充到5个字符。
如何使用Python
input = [477 , 4770, 47711]
output = ["477 ", "4770 ", "47711"]
使用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']
做到这一点,您可以使用str.ljust
:
>>> lst = [477 , 4770, 47711,]
>>> [str(x).ljust(5) for x in lst]
['477 ', '4770 ', '47711']
男人,你发布时间我编辑:( – 2015-04-01 12:40:13
@BhargavRao对不起,以为你会提出另一种解决方案'format' – 2015-04-01 12:41:09
您可以使用此解决方案。
input = [477 , 4770, 47711,]
[str(i).ljust(5) for i in input]
结果...
['477 ', '4770 ', '47711']
交替.format
可以使用ljust
例如:
>>> x = 'padme'
>>> x = x.ljust(10, ' ')
>>> x
'padme '
此外,还存在rjust
添加前导字符。
您必须迭代整个字符串来计算数字。但在这种情况下,我认为你可以用count()(这是,仍然在技术上迭代),然后有if语句将附加适当数量的空间到字符串。
嗨,空间应该在尾巴不在乞讨。怎么做 – user3675188 2015-04-01 12:38:31
@devinformatics是的,已经做到了。重新加载您的页面。谢谢 – 2015-04-01 12:44:50
你不需要'lambda'。只需传入绑定到格式字符串的方法:'list(map(“{:<5}”。format,input))' – 2015-04-01 12:55:05