将尾随空格添加到字符串列表中

时间:2012-04-02 23:59:01

标签: python string list whitespace concatenation

我有一个像这样的字符串列表:

my_list = ['Lorem ipsum dolor sit amet,', 'consectetur adipiscing elit. ', 'Mauris id enim nisi, ullamcorper malesuada magna.']

我希望基本上将这些项组合成一个可读的字符串。我的逻辑如下:

If the list item does not end with a space, add one
otherwise, leave it alone
Then combine them all into one string.

我能够通过几种不同的方式实现这一目标。

使用列表理解:

message = ["%s " % x if not x.endswith(' ') else x for x in my_list]
messageStr = ''.join(message)

拼写出来(我认为这更具可读性):

for i, v in enumerate(my_list):
    if not v.endswith(' '):
        my_list[i] = "%s " % v
messageStr = ''.join(my_list)

我的问题是,是否有一种更简单,更“理智”的方法来实现这一目标?

2 个答案:

答案 0 :(得分:5)

>>> my_list = ['Lorem ipsum dolor sit amet,', 'consectetur adipiscing elit. ', 'Mauris id en
im nisi, ullamcorper malesuada magna.']
>>> ' '.join(string.strip() for string in my_list)
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris id enim nisi, ullamcorper
 malesuada magna.'

答案 1 :(得分:1)

使用strip

,您可以简单地使用列表理解
' '.join([x.strip() for x in list])

最好不要将列表称为“列表”,因为它是内置的。