python中列表如何变成字符串_在Python中将列表转换为字符串

I'm fairly new to the python language and I've been looking for a while for an answer to this question.

I need to have a list that looks like:

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

converted into a string that looks like:

Kevin went to his computer.

He sat down.

He fell asleep.

I need it in the string format so I can write it to a text file. Any help would be appreciated.

解决方案

Short solution:

>>> 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.

Long solution, if you want to ensure only periods at the ends of words trigger line breaks:

>>> 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.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值