2015-07-03 100 views
3

的名单不同的字符数为字符串比方说,我有一个字符串列表:追加在字符串

strs = ["aa", "bbb", "c", "dddd"] 

我要追加空格每个字符串的结尾,使每串长度为4个字符。也就是说,我想最终产品看起来像这样:

strs_final = ["aa ", "bbb ", "c ", "dddd"] 

我觉得列表理解是要走的路,但我不知道到底如何去这样做。我知道如何,比如,挑选出了一些长度为3的字符串,并添加一个空格对他们说:

[i+" " for i in strs if len(i) == 3] 

但我不知道如何添加的空间变化的号码,不同字符串

的长度

回答

7

另一种解决方案是使用str.ljust

[i.ljust(4) for i in strs] 
2

您可以使用python的format。对格式说明的一般形式是:

format_spec ::= [[fill]align][sign][#][0][width][,][.precision][type] 

所以,如果你提供的width将与空间被填充:

>>> list(map('{:4}'.format, strs)) 
['aa ', 'bbb ', 'c ', 'dddd'] 
1
>>> [i+" "*(4-len(i)) for i in strs] 
['aa ', 'bbb ', 'c ', 'dddd'] 

关键是"x"*4给你"xxxx"