Python 如何将字符串列表转换为句子列表?

Python 如何将字符串列表转换为句子列表?,python,string,split,Python,String,Split,我试图将字符串列表(文本块)转换为小写,并将文本转换为句子列表,其中句子是由句号分隔的字符串。例如: ['This is some text', 'that I have. But it', 'is formatted like this.'] 我想让它每个句子一个字符串(并且都是小写)。目前我有以下几点: def make_sentences(text): newstring = '' for string in text: newstri

我试图将字符串列表(文本块)转换为小写,并将文本转换为句子列表,其中句子是由句号分隔的字符串。例如:

['This is some text',
 'that I have. But it',
 'is formatted like this.']
我想让它每个句子一个字符串(并且都是小写)。目前我有以下几点:

def make_sentences(text):

    newstring = ''
    for string in text:       
        newstring += str(string.lower()) + ' '
    newstring = newstring.split('.')

    return newstring
这就完成了任务,但现在有些单词会跨越两行(见下文)。有没有更好的方法来解决这个问题以防止这种情况发生

['my current output lo
 oks like this.']

非常感谢

我建议使用内置的
.join()
方法,然后使用
.split()

def make_sentences(text):
    return ' '.join(text).lower().split('. ')
示例输出:

sample = [
    'This is some text',
    'that I have. But it',
    'is formatted like this.'
]
make_sentences(sample)

>>>['This is some text that I have.', 'But it is formatted like this.']
PS


我在写这篇文章时也注意到了这一点,但没有指出。你之前有一个额外的引用,但是在你的字符串

中,“有些单词是如何跨越两行的”?你的文本不是有效的Python:中间输入“字符串”中的三个引号无效。而且,您的输出没有显示出任何问题。输入或输出中没有超过两行的单词。@usr2564301请查看更新的问题现在您必须添加输入中的内容。你的示例文本没有这个问题。这也是我得到的。OP似乎有另一个问题。如果您添加小写字母并修复typo@Lonewoolf你确定它们是真的句号吗?哈哈,假装这不是很长的一天。你确定原始字符串中没有任何新行吗?如果是这样的话,那么可能值得手动删除它们,或者在
.lower()之后或之前使用:
.replace('\n','')
。这将删除任何新行,因此每个句子只是假设的单词、空格或句点。