Форум сайта python.su
0
Сейчас проблема с вложенными списками.
Вчера весь вечер перебирал варианты, но пока не получилось.
Нужно найти совпадения ключей в заголовках. Каждый заголовок считать самостоятельным куском текста (т.е. нужно перебирать каждый заголовок, чекать вхождения ключа, а потом всё просуммировать).
Т.е. на выходе я должен получить:
Ключ | Количество вхождений в заголовки | Варианты вхождений (т.е. то, как это выглядит в тексте)
Я же верно понимаю логику: нужно взять ключ, сделать permutations ключа, далее для каждого permutations ключа перебирать совпадения в каждом их заголовков? Верно ли, что я пытаюсь сделать много циклов и условий или в питоне это как-то проще делается и я пишу фуфел?
headers = [['временная', 'регистрация', 'месту', 'пребывания', 'когда', 'кому', 'нужна'], ['сделать', 'временную', 'регистрацию'], ['необходимые', 'документы', 'получения', 'свидетельства'], ['срок', 'действия', 'временной', 'регистрации'], ['стоимость', 'услуги'], ['законы', 'акты', 'регламентирующие', 'временную', 'прописку'], ['часто', 'задаваемые', 'вопросы', 'порядке', 'временной', 'регистрации']] keywords = [['временная', 'регистрация'], ['регистрация', 'москве'], ['временная', 'регистрация', 'москве']] variants_of_keys = [] while i < len(keywords): # берем ключ из списка variants_of_keys = [list(a) for a in list(permutations(keywords[i]))] # Ищем все перестановки ключа ln = len(variants_of_keys[i]) for a in range(len(variants_of_keys)): # Для каждого варианта перестановки ключа будем перебирать текст keyword_entry = 0 for ii in range(len(headers)): # Перебираем заголовки (вот тут вообще каша начинается, никак не выходит что-то сделать) if str(headers[ii:ii+ln]) in str(variants_of_keys[a]): print('Есть вхождения') keyword_entry = keyword_entry + 1 a = a + 1 i = i + 1
Офлайн
857
Постановка задачи - это самое важное, так как при нечёткой постановке задачи код так же пишется нечётко и получается десять кодов и все неправильные.
Romanus
Нужно найти совпадения ключей в заголовках. Каждый заголовок считать самостоятельным куском текста (т.е. нужно перебирать каждый заголовок, чекать вхождения ключа, а потом всё просуммировать).
Romanus
Т.е. на выходе я должен получить:
Ключ | Количество вхождений в заголовки | Варианты вхождений (т.е. то, как это выглядит в тексте)
Отредактировано py.user.next (Авг. 5, 2018 17:00:58)
Офлайн