Форум сайта python.su
0
Есть 2 списка. Нужно их сравнить и найти одинаковые товары. Проблема в том, что одни и теже товары могут называться немного по разному.
Сейчас я поиск реализовал так:
Берётся кортеж, из него выдирается список и последовательно соединяется со всеми вложенными в lst2 списками. В получившемся списке подсчитывается количество одинаковых слов и на основании этого делается вывод одинаковые эти товары или нет.
Проблема в том, что для флешек каждой фирмы количество совпадающих слов должно быть разным. В итоге получается, что программа или не находит одинаковые флешки или в выводе показываются товары неподходящие.
lst1 = [(['apacer', 'handy', 'steno', 'ah332', '16gb'], '760'), (['transcend', 'jetflash', '370', '64gb'], '1400'), (['transcend', 'jetflash', '350', '32gb'], '599'), (['sandisk', 'ultra', '32gb'])] lst2 = [[['transcend', 'v90', '4gb', '(ts4gjfv90c)', 'металл'], '499,00'], [['transcend', 'jetflash', '370', '64gb', 'ts16gjf330'], '999,00'], [['apacer', 'ah323', '16gb', 'ap16gah323w-1', 'white'], '890,00']]
Офлайн
253
Задача абсолютно не новая. Я так понимаю она решается почти у всех кто занимается торговлей. Теперь о печальненком. По различным способам ее решения делаются доклады на конференциях и защищаются диссертации. Если у вашей задачи есть специфика то это может спасти.
надо ответить на вопросы:
1 насколько большие списки? Вас ограничивает быстродействие компа?
2 насколько качественно нужно идентифицировать товары? 10% ошибок? 0.001%
3 сколько вы намерены потратить времени на решение этой задачи? Неделю? Месяц? Год?
Алгоритмы? Полнотекстовый поиск, нейросети, кластерный анализ…
Отредактировано doza_and (Янв. 26, 2014 14:37:49)
Офлайн
0
Списки не очень большие, думаю в пределах сотни наименований.
Это что-то вроде лабы, ну и я сам заинтересовался этим вопросом. Для собственного развития хочу разобраться с этим вопросом.
Офлайн
857
d3z0x77+rsmqbcнадо выражению “одинаковые товары” дать точное определение
Нужно их сравнить и найти одинаковые товары.
Офлайн
0
В 1 списке есть вложенный список с товаром
['apacer', 'handy', 'steno', 'ah332', '16gb']
['apacer', 'ah323', '16gb', 'ap16gah323w-1', 'white']
Отредактировано d3z0x77+rsmqbc (Янв. 26, 2014 20:04:37)
Офлайн
857
d3z0x77+rsmqbcкак ты это понял ?
Оба товары одинаковые
Офлайн
0
Сори, тупанул. Не то скопировал сюда.
Список 1
['apacer', 'handy', 'steno', 'ah325', '32gb']
['apacer', 'ah325', '32gb', 'ap32gah325b-1', 'black']
Отредактировано d3z0x77+rsmqbc (Янв. 26, 2014 21:07:34)
Офлайн
Почему, я вот тоже ждал примера, когда вы проясните, по каким признакам вы объединяете товары, названия которых “немного разные”
Офлайн
0
dimy44Обе флешки фирмы apacer, они одинаковой модели ah325 и размера одинакового 32gb.
вот тоже ждал примера, когда вы проясните, по каким признакам вы объединяете товары,
Офлайн
75
d3z0x77+rsmqbc
собрать список фирм и сравнивать по им и размеру “32gb” благо везде есть цифра и gb
Офлайн