好的,我简化我的问题:
我有一个(文档)列表,其中包含一些(句子)列表,如str
。就像a = [['从第一个文档发送1!','从第一个文档发送2。'],['从第二个文档发送1。','从第二个文档发送2。']]
现在我尝试将每个句子分成一个单词列表..所以我可能会有第一个(文档)列表,其中包含一个(句子)列表,其中每个列表都包含一个(该句子中的单词列表)作为 str)。
不幸的是,我的代码生成了一个包含每个单词的(句子)列表。因此,我无法跟踪每个句子来自哪个文档。
我的代码如下所示:
sentcs = []
for i in range(len(a)):
for p in range(len(a[i])):
spr = re.findall(r'[A-Z]?[^A-Z\s]+|[A-Z]+', a[i][p])
sentcs.append(spr)
但这不是我想要的..我想要一个列表的列表..或者这样编程是一个坏习惯吗?
最佳答案
li = [('Help! Be nice.'),('Thx. Help appreciated.')]
for el in li:
l = el.split(' ',1)
print(tuple((l[0], l[1:])))
('Help!', ['Be nice.'])
('Thx.', ['Help appreciated.'])
from nltk.tokenize import sent_tokenize
st = ['Help! Be nice.','Thx. Help appreciated.']
for el in st:
t = sent_tokenize(el)
print(tuple((t[0], t[1:])))
('Help!', ['Be nice.'])
('Thx.', ['Help appreciated.'])
关于python - 列表的列表..列表的列表?应用正则表达式和 nltk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52262119/