Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2024, 18:30   #1
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию Составить частотность повторов

здравствуйте, код:
Код:
from collections import Counter
import re
patch = r'i:/replaces/AllDoc.txt'
with open(patch, "r", encoding='utf-8') as fi:
    t = fi.read()
cnt = Counter()
words = re.findall(r'\w+', t)
for w1, w2 in zip(words[:-1], words[1:]):
    value = f'{w1} {w2}'
    cnt[value] += 1
 
for k, v in cnt.most_common(100):
    print(f'{k} - {v}')
print('Окончен поиск 2-х одинаковых идущих подряд слов')


from collections import Counter
import re
 
patch = r'i:/replaces/AllDoc.txt'
with open(patch, "r", encoding='utf-8') as fi:
    t = fi.read()
 
cnt = Counter()
words = re.findall(r'\w+', t)
for w1, w2, w3 in zip(words[:-2], words[1:-1], words[2:]):
    value = f'{w1} {w2} {w3}'
    cnt[value] += 1
 
for k, v in cnt.most_common(100):
    print(f'{k} - {v}')
print('Окончен поиск 3-х одинаковых идущих подряд слов')
этот код, находит например:
"операций связанных с"
то есть он в оригинале убрал запятую:
"операций, связанных с"
как сделать, чтобы не убирал запятую? спасибо
Ципихович Эндрю вне форума Ответить с цитированием
Старый 09.03.2024, 20:36   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Если только запятую, то "words = re.findall(r'\w+,?', t)".
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 10.03.2024, 09:29   #3
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
words = re.findall(r'\w+,?', t)
спасибо-то, что нужно
Ципихович Эндрю вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск повторов volanddd Microsoft Office Excel 1 30.04.2013 09:34
dblookupcombobox без повторов MIKE11IPME БД в Delphi 0 10.05.2012 22:03
Вставка без повторов X@OC SQL, базы данных 4 13.03.2012 20:33
Выборка повторов illyuziy SQL, базы данных 18 16.11.2011 21:52
Ограничение повторов ТРОЯН=) Помощь студентам 5 06.03.2009 09:11