Вася"
Каждому элементу этого списка соответсвует значение:
1. 10
2. 20
При нахождении элемента списка в тексте, получаем соответствующее значение.
С точки зрения логики, указанный выше текст должен вернуть 20, но простым перебором в лоб, найдется слово "Привет" и в результате получаем 10 вместо ожидаемых 20.
Приходит в голову хранение информации не в словаре, а в массиве словарей, вроде:
[
{
word: "Привет",
result: 10
},
{
word: "Привет Вася",
result: 20
}
]
Тогда его можно будет сортировать по длине слов, но, тогда, при выводе списка слов ("Привет", "Привет Вася") придется собирать новый массив из этой конструкции.
Как лучше реализовать?
регулярки. Жадный режим как идея
Тебе же и в первом случае (с ключами объекта), нужно будет создавать новый массив, так?
А как часто тебе нужно сортировать массив во втором случае?
А что мешает ключи на русском назвать ?)
Хотя тут надо подюблму массив и найти максимальное совпадение с редюсом
Короче, я вижу два способа 1. В первом случае искать все элементы и потом отдавать больший результат 2. Либо твой второй вариант с сортировкой Но тут надо проверить, что быстрее. Поиск или сортировка.
ты можешь в результат пушить не фразу, а вот эти объекты? { word: "Привет Вася", result: 20 }
.
что вернется из "ривет Вас"?
Обсуждают сегодня