Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 19.04.2022
Сообщений: 4

Формирование индекса

23.04.2022, 00:08. Показов 585. Ответов 0

Студворк — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
    def create_index(self):
        indexes = {}
        keywords = self.get_keyword_list()
        for kw in keywords:
            indexes[kw] = {}
        for file in self.get_file_list(self.get_dir_list()):
            file_text = open(file, 'r', encoding='utf-8')
            clean_file = re.sub(r'[^А-Яа-я0-9\n ]+', '', file_text.read())
            for i, word in enumerate(clean_file.split()):
                if word in keywords:
                    if file not in indexes[word]:
                        indexes[word][file] = []
                    indexes[word][file].append(i)
            file_text.close()
        with open('index.json', 'w', encoding='utf-8') as index_file:
            index_file.write(json.dumps(indexes, ensure_ascii=False, indent=2))
            index_file.close()
 
        messagebox.showinfo('Сообщение', 'Индекс создан')
 
    def get_index_stats(self):
        words = []
        self.index_textbox.config(state='normal')
        self.index_textbox.delete(0.0, END)
        for i in self.keywords_listbox.curselection():
            words.append(self.keywords_listbox.get(i))
        index_file = open('index.json', 'r', encoding='utf8')
        index_json = json.loads(index_file.read())
        for word in words:
            if word in index_json:
                count = 0
                self.index_textbox.insert(INSERT, '%s' % word + '\n')
                for file in index_json[word]:
                    self.index_textbox.insert(INSERT, str(file) + ': ' + str(index_json[word][file]) + '\n')
                    count += len(index_json[word][file])
                self.index_textbox.insert(INSERT, 'Кол-во найденных вхождений: %d \n' % count)
                self.index_textbox.insert(INSERT, '----------------\n\n')
        self.index_textbox.config(state='disabled')
Как сделать так, чтобы индекс формировался по соответствию первому символу (т.е., слова «дом», «Дом», «дочь» соответствуют ключевому символу «Д»).
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.04.2022, 00:08
Ответы с готовыми решениями:

Формирование индекса
def create_index(self): indexes = {} keywords = self.get_keyword_list() for kw in keywords: ...

Как сделать формирование индекса по первому символу слова(за исключением регистра)?
def create_index(self): indexes = {} keywords = self.get_keyword_list() for kw in keywords: ...

Формирование почтового индекса
Даны: исходные данные 1. натуральное число n (n<=999999) 2. вариант интерфейса - свободная навигация.Предназначен для записи введенного...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.04.2022, 00:08
Помогаю со студенческими работами здесь

Процедура: составление индекса и бинарный поиск при помощи индекса
Индексом называется таблица, содержащая отсортированные значения некоторых ключей и их местоположение в массиве записей. Индексом...

Отличие создания индекса от монтирования индекса
Чем отличается создание индекса от монтирования индекса?

Переворот элементов массива от индекса m до индекса n
У меня есть массив заполненный числами Как можно равзерунть массив от индекса до индекса? Например есть массив {7 8 9 12 13 15 16 },...

В данном линейном целочисленном массиве каждый элемент с четным индексом увеличить на значение индекса, с нечетным — уменьшить на значение индекса
В данном линейном целочисленном массиве каждый элемент с четным индексом увеличить на значение индекса, с нечетным — уменьшить на значение...

"Ключ кластерного индекса" означает корень дерева кластерного индекса или что-то иное?
Некластерный индекс на листовом уровне содержит отсортированные значения индексированного столбца и row locator – указатель на остальные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru