将不同数量的字符附加到字符串列表中的字符串

时间:2015-07-03 19:59:05

标签: python

我们说我有一个字符串列表:

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

我想在每个字符串的末尾添加空格,以便每个字符串长度为4个字符。也就是说,我希望最终产品看起来像这样:

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

我认为列表理解是要走的路,但我不确定如何去做这件事。我知道如何挑选长度为3的字符串并为它们添加一个空格:

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

但我不知道如何为不同长度的字符串添加不同数量的空格

3 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分:2)

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

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

因此,如果您提供width,则会填充空格:

>>> list(map('{:4}'.format, strs))
['aa  ', 'bbb ', 'c   ', 'dddd']

答案 2 :(得分:1)

>>> [i+" "*(4-len(i)) for i in strs]
['aa  ', 'bbb ', 'c   ', 'dddd']

关键点为"x"*4,为您提供"xxxx"