Я ищу способ сортировки «числовых слов» в числовом порядке. Например, предположим, что у меня есть список [«пять», «три», «шесть», «восемь»], я хотел бы сортировать его как «три», «пять», «шесть», «восемь»] а не в лексикографическом порядке. Я огляделся вокруг, включая этот сайт, и ближайшим/лучшим решением является использование карты и сортировка списка на основе пар ключ-значение.Сортировка «чисел» в цифровом порядке
Я придумал другие идеи, подобные этому, но, в конце концов, все они требуют создания большого стола/списка для сопоставления числа слов с фактическим числом. Я бы хотел, чтобы решение, по возможности, автоматически расширялось, поэтому, если оно работает для списка выше, оно также будет работать для списка [«десять квадриллионов девятьсот миллионов пять тысяч два», «шесть», «четыре», ]. Чем больше я думаю об этом, тем менее я уверен, что это можно сделать. Любая помощь приветствуется.
Я не уверен, что это полностью подходит для стандарта SO формата вопрос, но я думаю, что вы хотите сделать, это: A) Написать синтаксический анализатор, который может преобразовывать слова в их числовой эквивалент (обратите внимание, что вы можете использовать wolfram alpha, что также позволит вам сортировать [«десять плюс пять», «три», «шесть раз восемь»]) B) Создать словарь для сопоставления между словом и числом для каждого элемента в списке C) Сортировка этого словаря D) Remap для создания отсортированного списка Я бы предложил попробовать это, а затем, если вам все еще нужна помощь, покажите, что вы пробовали, и где вы застряли – Foon
@Foon - Спасибо! Слово-парсер - это то, что мне нужно в основном. В SO есть хороший вариант http://stackoverflow.com/questions/70161/how-to-read-values-from-numbers-written-s-words, и я попытаюсь реализовать алгоритм, указанный в java. Когда я застрял, я отправлю свою работу. Еще раз спасибо! – Ron