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

Внести и извлечь элменты в массиве

16.04.2018, 20:12. Показов 684. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вот такой участок части кода (это не весь), но проблема вылазит тут:
Python
1
2
3
4
5
6
7
8
9
10
11
12
             
done_array = []
.....................
 
       for normal_ending in cursor.execute("SELECT flex FROM flexes WHERE type=? AND field2=1", (type)).fetchall():
                            #соединение "основы" и нормального окончания
 
                            word_FINAL = (current_word[:bukva] + ''.join(str(cursor) for cursor in normal_ending))
                            #print(word_FINAL)
                            if cursor.execute('SELECT reestr FROM nom WHERE (reestr=? AND type<>0)', (word_FINAL,)).fetchall():
                                done_array.append(word_FINAL)
                                STOP = True
в результате выполнения этого кода получается такая проблема, что запрос находит несколько подходящих вариантов, НО выбрать надо только тот который повторяется чаще всего для каждого слова:
Кликните здесь для просмотра всего текста
адреса адреса адрес адрес адрес адреса адрес адреса адреса прибути група реагування патруль поліція поліція поліція поліція поліція поліція поліція поліція поліція поліція поліція поліція поліція поліція Бориспільський Бориспільський Бориспільський Бориспільський Бориспільський відділяти відділити відділити відділити відділити відділити відділити відділити відділити відділити відділити відділити відділити відділити відділити відділити відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділити відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ відділ


например: из слов "відділити" и "відділ" нужно чтобы осталось слово "відділ"
изначально на вход поступает текст, затем обрабатывается и вот эти слова уже добавляются в конечный массив, который выводится, но как оставить, чтобы для каждого слова остался только 1 вариант не знаю. пробовал заносить в массив значения только, если новое не равно предыдущему, но не во всех случаях это допустимое решение(

Добавлено через 10 минут
Есть еще ИДЕЯ записать эти слова,которых несколько вариантов во временный массив, посчитать какое чаще повторяется и уже его записывать в финальный массив. Но как это правильно сделать не знаю
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.04.2018, 20:12
Ответы с готовыми решениями:

Определить минимальное число в неупорядоченном массиве положительных чисел X. Результат внести в ячейку М
Помогите, пожалуйста, написать программу. Задание: Определить минимальное число в неупорядоченном массиве положительных чисел X....

Sortable элменты списка
Есть ли простой способ рандомно перемешать элементы списка? который Sortable

Как переместить элменты с сохранением стилистики?
Есть форма. Там 7 кнопок. Некоторые активные, некоторые неактивные (enabled = false). Неактивные это лишние. Их нужно убрать, а на место...

15
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
17.04.2018, 14:46
например так - совпадение по 3 начальным символам
Python
1
2
3
4
5
6
7
8
9
>>> from itertools import groupby
>>> import re
>>> doc='''адреса адреса адрес адрес адрес адреса адрес адреса адреса прибути група реагування патруль поліція поліція поліція поліція поліція поліція поліція поліція поліція    поліція  поліція  поліція  поліція  поліція Бориспільський Бориспільський Бориспільський Бориспільський Бориспільський відділяти відділити відділити відділити відділити відділити відділити відділити відділити відділити відділити відділити відділити відділити відділити відділити відділ відділ відділ відділ відділ відділ   відділ відділ   відділ    відділ    відділ    відділ    відділ    відділ    відділ відділ відділ  відділ    відділ    відділ    відділ    відділ    відділ    відділ    відділ    відділ відділ відділ  відділ    відділити відділ відділ    відділ    відділ    відділ    відділ    відділ    відділ відділ відділ  відділ    відділ    відділ    відділ    відділ відділ   відділ    відділ    відділ'''
>>> l = sorted(list(set(re.split('\s+',doc))))
>>> g = groupby(l,key=lambda x: x[:3])
>>>[list(v)[0] for k,v in g]
['Бориспільський', 'адрес', 'відділ', 'група', 'патруль', 'поліція', 'прибути', 'реагування']
>>> 
>>>
Добавлено через 13 часов 39 минут
если нужно учитывать частоту повторения, можно так
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
39
>>> import re
>>> doc = '''адреса адреса адрес адрес адрес адреса адрес адреса адреса прибути
група реагування патруль поліція поліція поліція поліція поліція поліція
поліція поліція поліція    поліція  поліція  поліція  поліція  поліція 
Бориспільський Бориспільський Бориспільський Бориспільський Бориспільський 
відділяти відділити відділити відділити відділити відділити відділити 
відділити відділити відділити відділити відділити відділити 
відділити відділити відділити відділ відділ відділ відділ 
відділ відділ   відділ відділ   відділ    відділ    відділ    відділ    
відділ    відділ    відділ відділ відділ  відділ    відділ    відділ    відділ    відділ    
відділ    відділ    відділ    відділ відділ відділ  відділ    відділити відділ 
відділ    відділ    відділ    відділ    відділ    відділ    відділ відділ відділ  
відділ    відділ    відділ    відділ    відділ відділ   відділ    відділ    відділ'''
>>> d = {}
>>> for i in re.split('\s+',doc):
    d[i] = d.get(i,0) + 1
 
    
>>> l = sorted(d.items(),key = lambda x: len(x[0]))
>>> d = {}
>>> while True:
    if not l: break
    k = l.pop(0)
    d[k] = [i for i in l if i[0].startswith(k[0])]
    for i in d[k]: l.remove(i)
 
    
>>> for i in d:
    print(sorted([i,*d[i]],key = lambda x: x[1],reverse=True))
 
    
[('адреса', 5), ('адрес', 4)]
[('група', 1)]
[('відділ', 48), ('відділити', 16), ('відділяти', 1)]
[('прибути', 1)]
[('патруль', 1)]
[('поліція', 14)]
[('реагування', 1)]
[('Бориспільський', 5)]
1
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
17.04.2018, 15:23
Может использование GROUP BY (сгруппировать) и LIMIT (ограничить число строк) в sql-запросе поможет?
0
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 12
17.04.2018, 15:37  [ТС]
Спасибо! Натолкнули на новые идеи решения. Возможно я немного не полностью все объяснил. Дело в том что изначально открывается текст .txt по словам добавляется в массив. вот так выглядит сначала:
Кликните здесь для просмотра всего текста
['Одного', 'разу', ',', 'перемальовуючи', 'статуї', 'в', 'Літньому', 'саду', ',', 'Шевченко', 'зустрів', 'земляка', '—', 'художника', 'І.', 'Сошенка', ',', 'який', 'познайомив', 'його', 'з', 'видатними', 'діячами', 'російської', 'й', 'української', 'культур', '(', 'К.', 'Брюлловим', ',', 'В.', 'Григоровичем', ',', 'О.', 'Венеціановим', ',', 'В.', 'Жуковським', ',', 'Є.', 'Гребінкою', ')', '.']

потом после выполнения кода(обработки этого текста) получается такой массив:
Кликните здесь для просмотра всего текста
['Од', 'Од', 'Од', 'Один', 'Один', 'Один', 'разити', 'разити', 'разити', 'разити', 'разити', 'разити', 'разити', 'разити', 'разити', 'разити', 'разити', 'разити', 'разити', 'разити', 'разити', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'разити', 'разити', 'раз', 'раз', 'разити', 'разити', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', ',', 'перемальовувати', 'перемальовувати', 'перемальовувати', 'перемальовувати', 'перемальовувати', 'перемальовувати', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'в', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літний', 'Літний', 'Літний', 'Літний', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'садити', 'садити', 'садити', 'садити', 'садити', 'садити', 'садити', 'садити', 'садити', 'садити', 'садити', 'садити', 'садити', 'садити', 'садити', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'садити', 'садити', 'сад', 'сад', 'садити', 'садити', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', ',', 'Шевченко', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'земляк', 'земляк', 'земляк', 'земляк', 'земляк', 'земляк', 'земляк', 'земляк', 'земляк', 'земляк', 'земляк', 'земляк', '—', 'художник', 'художник', 'художник', 'художник', 'художник', 'художник', 'художник', 'художник', 'художник', 'художник', 'художник', 'художник', 'І.', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', ',', 'який', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'він', 'він', 'воно', 'воно', 'й', 'й', 'й', 'з', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'діяч', 'діяч', 'російський', 'російський', 'російський', 'російський', 'російський', 'російський', 'російський', 'російський', 'російський', 'російський', 'російський', 'російський', 'російський', 'російський', 'й', 'український', 'український', 'український', 'український', 'український', 'український', 'український', 'український', 'український', 'український', 'український', 'український', 'український', 'український', '(', 'К.', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', ',', 'В.', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', ',', 'О.', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', ',', 'В.', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', ',', 'Є.', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', ')', '.']

так как это текст, много предложений, то слова в массиве могут встречаться в разных предложениях, и надо чтобы в каждом случае выбиралось одно нужное слово, а не вносилось как тут встречается "разити разити разити разити раз раз раз раз раз раз раз раз раз раз раз раз раз раз раз раз РАЗИТИ РАЗИТИ РАЗИТИ раз раз раз раз раз раз "
Извините, если в первый раз неправильно объяснил проблему
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
17.04.2018, 15:40
Вместо списка использовать set?

Python
1
2
3
done_array = set()
 
done_array.add(word_FINAL)
0
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 12
17.04.2018, 15:57  [ТС]
Рыжий Лис, не вариант. Если использовать set, то слова добавляются в случайном порядке, проблема 2х слов остается и удаляются ВСЕ одинаковыйе слова в тексте
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
17.04.2018, 16:04
Выглядит, как костыль:
Кликните здесь для просмотра всего текста

Python
1
2
3
4
5
6
7
8
ls = ['Од', 'Од', 'Од', 'Один', 'Один', 'Один', 'разити', 'разити', 'разити', 'разити', 'разити', 'разити', 'разити', 'разити', 'разити', 'разити', 'разити', 'разити', 'разити', 'разити', 'разити', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'разити', 'разити', 'раз', 'раз', 'разити', 'разити', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', 'раз', ',', 'перемальовувати', 'перемальовувати', 'перемальовувати', 'перемальовувати', 'перемальовувати', 'перемальовувати', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'статуя', 'в', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літний', 'Літний', 'Літний', 'Літний', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'Літній', 'садити', 'садити', 'садити', 'садити', 'садити', 'садити', 'садити', 'садити', 'садити', 'садити', 'садити', 'садити', 'садити', 'садити', 'садити', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'садити', 'садити', 'сад', 'сад', 'садити', 'садити', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', 'сад', ',', 'Шевченко', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'зустріти', 'земляк', 'земляк', 'земляк', 'земляк', 'земляк', 'земляк', 'земляк', 'земляк', 'земляк', 'земляк', 'земляк', 'земляк', '—', 'художник', 'художник', 'художник', 'художник', 'художник', 'художник', 'художник', 'художник', 'художник', 'художник', 'художник', 'художник', 'І.', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', 'Сошенко', ',', 'який', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'познайомити', 'він', 'він', 'воно', 'воно', 'й', 'й', 'й', 'з', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'видатний', 'діяч', 'діяч', 'російський', 'російський', 'російський', 'російський', 'російський', 'російський', 'російський', 'російський', 'російський', 'російський', 'російський', 'російський', 'російський', 'російський', 'й', 'український', 'український', 'український', 'український', 'український', 'український', 'український', 'український', 'український', 'український', 'український', 'український', 'український', 'український', '(', 'К.', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', 'Брюллов', ',', 'В.', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', 'Григорович', ',', 'О.', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', 'Венеціанов', ',', 'В.', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', 'Жуковський', ',', 'Є.', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', 'Гребінка', ')', '.']
 
ls2 = [ls[0]]
for i in ls[1:]:
    if ls2[-1] != i:
        ls2.append(i)
 
print(ls2)
0
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 12
17.04.2018, 16:11  [ТС]
эх, спасибо конечно, но такой костыль писал уже( а надо реально решить проблему, поэтому и пришел сюда, что сам уже не знаю как((
0
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
17.04.2018, 17:18
Цитата Сообщение от wena77 Посмотреть сообщение
потом после выполнения кода(обработки этого текста) получается такой массив:
а зачем он нужен?
Python
1
2
3
4
5
6
7
>>> from collections import Counter
>>> doc = '''так как это текст, много предложений, то слова в массиве могут встречаться в разных предложениях, и надо чтобы в каждом случае выбиралось одно нужное слово, а не вносилось как тут встречается "разити разити разити разити раз раз раз раз раз раз раз раз раз раз раз раз раз раз раз раз РАЗИТИ РАЗИТИ РАЗИТИ раз раз раз раз раз раз "
Извините, если в первый раз неправильно объяснил проблему'''
>>> c = Counter(doc.split())
>>> c
Counter({'раз': 23, 'в': 4, 'разити': 3, 'РАЗИТИ': 3, 'как': 2, 'так': 1, 'это': 1, 'текст,': 1, 'много': 1, 'предложений,': 1, 'то': 1, 'слова': 1, 'массиве': 1, 'могут': 1, 'встречаться': 1, 'разных': 1, 'предложениях,': 1, 'и': 1, 'надо': 1, 'чтобы': 1, 'каждом': 1, 'случае': 1, 'выбиралось': 1, 'одно': 1, 'нужное': 1, 'слово,': 1, 'а': 1, 'не': 1, 'вносилось': 1, 'тут': 1, 'встречается': 1, '"разити': 1, '"': 1, 'Извините,': 1, 'если': 1, 'первый': 1, 'неправильно': 1, 'объяснил': 1, 'проблему': 1})
>>>
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
17.04.2018, 19:53
Цитата Сообщение от wena77 Посмотреть сообщение
если в первый раз неправильно объяснил проблему
Лучше объясните не проблему, а конечный смысл вашего кода. Сверхзадачу.
Возможно, что проблема в неправильном изначальном подходе.
Может быть вам нужны не слова, а их леммы?
0
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 12
17.04.2018, 20:05  [ТС]
да, сверхзадача - лемматизация! сверхзадача работает,но кроме этого момента
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
17.04.2018, 20:10
Цитата Сообщение от wena77 Посмотреть сообщение
сверхзадача - лемматизация!
В упор не вижу. Лемматизацию делает морфоанализатор или стэммер. У вас они не используются.
0
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 12
17.04.2018, 20:16  [ТС]
а я и не показывал код, где это происходит. нужна помощь только в этом моменте, потому что уже не знаю как решить
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
17.04.2018, 20:18
Да и потом, лемматизация это всегда лишь подзадача. Средство для чего-то.
Конечная задача какая-то иная. Однако вы желаете ее умолчать?

Добавлено через 2 минуты
Цитата Сообщение от wena77 Посмотреть сообщение
например: из слов "відділити" и "відділ" нужно чтобы осталось слово "відділ"
Вот здесь какой алгоритм выбора слова? Самая короткая префиксная форма слова?
0
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 12
17.04.2018, 20:43  [ТС]
Верить мне или нет - дело Ваше, но задача действительно только лишь лемматизация
Цитата Сообщение от Garry Galler Посмотреть сообщение
Вот здесь какой алгоритм выбора слова? Самая короткая префиксная форма слова?
просто входящая форма была "відділу"
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
17.04.2018, 20:52
Если вы хотите получить правильно нормализованное предложение, то использование БД в качестве словаря и дальнейшая попытка построить велосипед на отборе слов по непонятному алгоритму - плохой вариант.
1) Первая ошибка - у вас никак не обрабатываются слова с переносами - они разделяются на два несуществующих слова.
Это нужно обрабатывать и объединять переносы.
2) pymorhpy2 в python, пожалуй, лучший морфоанализатор, умеет работать также и с украинским текстом. Его словаря вполне хватит для ваших предложений.
3) Чтобы привести фамилии к форме единственного числа именительного падежа их можно обрабатывать отдельно - существуют словари фамилий для их вычленения из текста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.04.2018, 20:52
Помогаю со студенческими работами здесь

как сохранить в массиве байт разнотипную информацию, а потом извлечь ее
Есть массив байт byte mass; есть переменные int a=10; char b = 'w'; string c=&quot;строка&quot;; как перевести эти...

Выделенные элменты listBox добавить в другой в одну строку
возможно ли выделенные Item'ы из одного листбокса добавить в другой листбокс и все в одну строку?

Как изменять стандартные android-элменты(их вид), а именно календарь
Я только приступаю к програмщине android, раньше работал только с веб-интерфейсами. Работаю с Eclipse + ADT. Как визуально изменять...

После каждого простого числа в одномерном массиве внести "0"
Прошу помощи, массивы тяжело идут. Внести рандомные числа в массив и вывести его могу, а произвести действие в задание не могу понять как. ...

Ввести с экрана количество элементов вектора вещественных чисел и сами элменты. C++
Ввести с экрана количество элементов вектора вещественных чисел и сами элменты. Каждый новый элемент вставлять в конец вектора.Пройдя в...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru