5

そこでjoin()、文字列を単語と句読点に分割してから使用しようとしましたが、単語と句読点の間にスペースを入れて文字列を結合します。

b = ['Hello', ',', 'who', 'are', 'you', '?']
c = " ".join(b)

しかし、それは戻ります:
c = 'Hello , who are you ?'

そして私が欲しい:
c = 'Hello, who are you?'

4

4 に答える 4

2

たぶん次のようなもの:

>>> from string import punctuation
>>> punc = set(punctuation) # or whatever special chars you want
>>> b = ['Hello', ',', 'who', 'are', 'you', '?']
>>> ''.join(w if set(w) <= punc else ' '+w for w in b).lstrip()
'Hello, who are you?'

bこれにより、句読点だけで構成されていない単語の前にスペースが追加されます。

于 2013-04-11T14:07:52.783 に答える
-1

どのように

c = " ".join(b).replace(" ,", ",")
于 2013-04-11T14:01:58.667 に答える