У меня есть следующий сценарий, где текстовый файл имеет что-то вроде следующего вывода:
DecodingIndex[ 1] PresentationIndex[ 2]
DecodingIndex[ 2] PresentationIndex[ 3]
DecodingIndex[ 3] PresentationIndex[ 1]
etc...
Так как он показывает числа в последовательном DecodingIndex, я хочу, чтобы он сортировался вместо PresentationIndex.Например:
DecodingIndex[ 3] PresentationIndex[ 1]
DecodingIndex[ 1] PresentationIndex[ 2]
DecodingIndex[ 2] PresentationIndex[ 3]
Есть ли простой способ сделать это в Python?Эти цифры доходят до десятков тысяч.Расстояние между квадратными скобками всегда имеет пробел для чисел меньше 10, а затем обнимает числа, например DecodingIndex [32100]
Надеюсь, что это имело смысл, и спасибо за вашу помощь!
=======
Вот что я попробовал: 1) я перебираю каждую строку в файле и сохраняю в список строк [] 2) перебираю каждый элемент в списке строк [], используяследующий шаблон регулярных выражений re.compile(r'PresentationIndex\[(.*?)\]')
3) Затем я получаю совпадения из результата, используя group (), и сохраняю эти значения в новом списке. 4) Затем я сортирую список численно, сначала превращая элементы в int, затем сортируя,затем превращая его обратно в строку, подобную этой 5) Теперь я перебираю этот список и вставляю слова PresentationIndex и квадратные скобки в 6) Используя отсортированный теперь список PresentationIndex, я перебираю каждое из них.Для каждой итерации я перебираю весь выходной текстовый файл для поиска связанной строки и добавляю это в окончательный список.Таким образом, я получаю вывод в нужном порядке.
Я начал с файла длиной около 32 000 строк.Это заняло около 3 часов ...