3

私はPython言語にかなり慣れていないので、この質問に対する答えをしばらく探していました。

次のようなリストが必要です。

['Kevin', 'went', 'to', 'his', 'computer.', 'He', 'sat', 'down.', 'He', 'fell', 'asleep.']

次のような文字列に変換されます。

Kevin went to his computer.

He sat down.

He fell asleep.

テキストファイルに書き込むことができるように、文字列形式で必要です。どんな助けでも大歓迎です。

4

1 に答える 1

4

短い解決策:

>>> l
['Kevin', 'went', 'to', 'his', 'computer.', 'He', 'sat', 'down.', 'He', 'fell', 'asleep.']

>>> print ' '.join(l)
Kevin went to his computer. He sat down. He fell asleep.

>>> print ' '.join(l).replace('. ', '.\n')
Kevin went to his computer.
He sat down.
He fell asleep.

単語の末尾のピリオドのみが改行をトリガーするようにしたい場合の長い解決策:

>>> l
['Mr. Smith', 'went', 'to', 'his', 'computer.', 'He', 'sat', 'down.', 'He', 'fell', 'asleep.'] 
>>> def sentences(words):
...     sentence = []
... 
...     for word in words:
...         sentence.append(word)
... 
...         if word.endswith('.'):
...             yield sentence
...             sentence = []
... 
...     if sentence:
...         yield sentence
... 
>>> print '\n'.join(' '.join(s) for s in sentences(l))
Mr. Smith went to his computer.
He sat down.
He fell asleep.
于 2012-11-29T00:27:25.103 に答える