正确加入拆分字和标点符号

时间:2017-04-09 14:10:02

标签: python list join split

所以我有这个清单:

list1 = ['hi', 'there', '!', 'i', 'work', 'for', 'Spencer', '&', 'Co']

我想一起加入这个列表并将一些标点符号加入到单词中,但其他人不要加入:

我目前正在使用:

list1 = " ".join()

re.sub(r' (?=\W)', '', list1)

这使得每个标点符号都加入到前一个元素。

  你好!我为Spencer&共

但是 我想要:

  你好!我为Spencer&共

2 个答案:

答案 0 :(得分:0)

我个人避免使用正则表达式,因为纯逻辑解决方案对我来说更容易理解。以下是您可以用于上述示例的简短解决方案:

list1 = ['hi', 'there', '!', 'i', 'work', 'for', 'Spencer', '&', 'Co']
output = ""
for part in list1:
    output += " " + part + " "
output = [1:-1]

最后一行删除起始空格字符和结束空格字符。

答案 1 :(得分:0)

您可以使用带有前瞻的否定字符集并包含您的特殊字符:

>>> re.sub(r' (?=[^\w&])', '', list1) # include &
'hi there! i work for Spencer & Co'