список списков .. списков? Применяя регулярные выражения и NLTK - PullRequest
0 голосов
/ 10 сентября 2018

ОК, я упрощаю свой вопрос:

У меня есть список (документов), который содержит несколько списков (предложений) как str. Нравится a = [['Sent1 from first doc!','Sent2 from first doc.'],['Sent1 from 2nd doc.','Sent2 from 2nd doc.']]

Теперь я пытаюсь разбить каждое предложение на список слов ... поэтому у меня, вероятно, будет первый список (документов), который содержит список (предложений), где каждое содержит список (слов из этого предложения как ул).

К сожалению, мой код создает список (предложений), который содержит каждое слово ... поэтому я теряю счет, из какого документа пришло каждое предложение.

Мой код выглядит так:

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) 

Но это не то, что я хочу ... Я хотел бы иметь список списков ... или это плохая привычка программировать что-то подобное?

1 Ответ

0 голосов
/ 10 сентября 2018
    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.'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...