У меня есть список строк, каждая из которых будет что-то вроде '; 2234661; E3006345_2234661_FRONT_Image_Container; \ n', которые мне нужно отсортировать. Каждая строка будет начинаться с точки с запятой и разных чисел, но мне нужно, чтобы все они были отсортированы в соответствии с углом изображения (например, FRONT, BACK, LEFT) в не алфавитном порядке после этого ранжирования: FRONT BACK LEFT RIGHT INGREDIENTS ИНСТРУКЦИЯ ПО ИНФОРМАЦИИ NUTRITION PRODUCT
Пример ввода:
[';2234661;PRODUCT;', ';2234661;FRONT;', ';2234661;LEFT;', ';2234661;RIGHT;', ';2234661;BACK;', ';2234661;INGREDIENTS;', ';2234661;NUTRITION;', ';2234661;INSTRUCTIONS;', ';2234661;INFO;']
Желаемый вывод
[';2234661;FRONT;', ';2234661;BACK;', ';2234661;LEFT;', ';2234661;RIGHT;', ';2234661;INGREDIENTS;', ';2234661;INSTRUCTIONS;', ';2234661;INFO;', ';2234661;NUTRITION;', ';2234661;PRODUCT;']
Вот мой код, основанный на решении аналогичной проблемы, которую я нашел здесь на бирже стека Тем не менее он возвращает ошибку «ValueError: подстрока не найдена
galleryImages = [';2234661;PRODUCT;', ';2234661;FRONT;', ';2234661;LEFT;', ';2234661;RIGHT;', ';2234661;BACK;', ';2234661;INGREDIENTS;', ';2234661;NUTRITION;', ';2234661;INSTRUCTIONS;', ';2234661;INFO;']
alphabet = 'FBLRINP'
newGallery = sorted(galleryImages, key=lambda word: [alphabet.index(c) for c in word])
print(newGallery)