2016-12-20 34 views
-4

用逗号列表中给出文字全部用逗号结尾的字符串(一些有空格太):如何转换字符串用逗号在Python

WordString = 'word one, word-two, word3,' 

如何将字符串转换为保持空间的列表和逗号?

WordList = ['word one,','word-two,','word3,'] 
+0

你输出清晰地显示你*不*保持空间。 – jonrsharpe

+0

@jonrsharpe它为第一个'单词之一' – corn3lius

+0

@jonrsharpe我假设'单词之一' –

回答

4

你可以用字符串的split()方法和列表理解这样做:

WordList = [s.strip() + ',' for s in WordString.split(',') if s.strip()] 

这里所做的假设,根据您的例子:

  • 你只希望保留内部空格(单词之间的空格),不是前导/尾随空格。
  • 您希望在最终列表中的每个字符串之后保留一个逗号。
+2

应该添加[如果s!='']到列表理解的结尾,否则你会得到一个额外的逗号 – Lina

+2

@Lina'如果s'更pythonic,补充说。 – Amber

+1

@RenierDelport在最后的逗号后面可能会有一些额外的空格 - 尝试在'if'条件中添加'.strip()',如上所述。 – Amber

0

list comprehension试试这个:

['{},'.format(i).strip() for i in WordString.split(',') if i] 

split()使用逗号分隔符,形成一个字符串列表。

strip()用于从结果列表的每个字符串中删除尾随空格。

输出:

>>> WordString = 'word one, word-two, word3,' 
>>> 
>>> ['{},'.format(i).strip() for i in WordString.split(',') if i] 
['word one,', 'word-two,', 'word3,'] 
相关问题