擅长:python、mysql、java
<p>您可以使用正则表达式,只需将不需要空格的字符放在括号<code>[.,;]</code>中,这样更容易处理新的情况,而且更短</p>
<pre><code>import re
words = ["if", "nobody", "loved", "him", ",", "he", "probably", "struggled", "to", "love", "himself", "."]
sentence = re.sub(r"(?: ([.,;]))", r"\g<1>", " ".join(words))
print(sentence)
</code></pre>
<p>regex<code>(?: ([.,;]))</code>匹配一个空格,后跟括号内的一个字符,并仅替换为这个字符(不包括空格so)</p>