在 python 中获取字符串数组列表到单独的字符串数组中
Getting list of string array into separate string arrays in python
这是我的代码。
SENTENCE = "He sad might have lung cancer. It’s just a rumor."
sent=(sent_tokenize(SENTENCE))
输出为
['He sad might have lung cancer.', 'It’s just a rumor.']
我想得到这个数组作为
['He sad might have lung cancer.']
['It’s just a rumor.']
他们有什么方法可以做到这一点吗?如果是的话,怎么做到的?
既然要按照一句话来拆分,那么可以简单的这样做:
sentence_list = SENTENCE.split('.')
for sentence in sentence_list:
single_sentence = [sentence + '.']
如果您确实希望所有列表都包含同一数据结构中的单个句子,则必须使用列表列表或字典:
my_sentences = []
sentence_list = SENTENCE.split('.')
for sentence in sentence_list:
my_sentences.append([sentence + '.'])
要使用列表理解来缩短它:
my_sentences = [[sentence + '.'] for sentence in SENTENCE.split('.')]
唯一的罪魁祸首是句子拆分部分会更频繁地发生,因此处理大量句子时会变慢。
使用re.split()
函数的解决方案:
import re
s = "He sad might have lung cancer. It’s just a rumor."
parts = [l if l[-1] == '.' else l + '.' for l in re.split(r'\.\s?(?!$)', s)]
print(parts)
输出:
['He sad might have lung cancer.', 'It’s just a rumor.']
r'\.\s?(?!$)'
模式,定义分隔符为 .
除了文本末尾的分隔符 (?!$)
l if l[-1] == '.' else l + '.'
- 恢复 .
在每行的末尾(因为分割时没有捕获分隔符)
这是我的代码。
SENTENCE = "He sad might have lung cancer. It’s just a rumor."
sent=(sent_tokenize(SENTENCE))
输出为
['He sad might have lung cancer.', 'It’s just a rumor.']
我想得到这个数组作为
['He sad might have lung cancer.']
['It’s just a rumor.']
他们有什么方法可以做到这一点吗?如果是的话,怎么做到的?
既然要按照一句话来拆分,那么可以简单的这样做:
sentence_list = SENTENCE.split('.')
for sentence in sentence_list:
single_sentence = [sentence + '.']
如果您确实希望所有列表都包含同一数据结构中的单个句子,则必须使用列表列表或字典:
my_sentences = []
sentence_list = SENTENCE.split('.')
for sentence in sentence_list:
my_sentences.append([sentence + '.'])
要使用列表理解来缩短它:
my_sentences = [[sentence + '.'] for sentence in SENTENCE.split('.')]
唯一的罪魁祸首是句子拆分部分会更频繁地发生,因此处理大量句子时会变慢。
使用re.split()
函数的解决方案:
import re
s = "He sad might have lung cancer. It’s just a rumor."
parts = [l if l[-1] == '.' else l + '.' for l in re.split(r'\.\s?(?!$)', s)]
print(parts)
输出:
['He sad might have lung cancer.', 'It’s just a rumor.']
r'\.\s?(?!$)'
模式,定义分隔符为 .
除了文本末尾的分隔符 (?!$)
l if l[-1] == '.' else l + '.'
- 恢复 .
在每行的末尾(因为分割时没有捕获分隔符)