Я пытаюсь сформировать оптимизированный подход к разбиению списка имен файлов (вкратце примеров) в соотношении x: y на основе имен файлов. Этот список файлов был приобретен с использованием os.scandir (лучшая производительность vs os.listdir, src: Python Docs scandir).Разделение списка имен файлов в предопределенном соотношении
Пример -
файлов (расширение пренебрегаем) -
A_1, A_2, ... A_10 (здесь А имя файла и 1 является образцом номер файла)
B_1 , B_2 ... B_10
и так далее
Скажем х: у соотношение 7: 3 так Я бы хотел, чтобы 70% имен файлов (A_1..A7, B_1..B_7) и 30% (A_8 - A_10, B_8..B_10) в разных списках, не имеет значения, что первый список должен быть в таком порядке что файлы могут быть A_1, A_9, A_5 и т. д., пока они разделены на 7 файлов в списке от 1 до 3 файлов в списке 2.
Теперь необходимо отметить, что этот каталог является огромным (файлы ~ 150 тыс.) и выборки каждого типа файлов различаются, то есть, возможно, файлы с именем файла A имеют 1000 файлов или могут иметь только 5. Также имеется около 400 уникальных имен файлов.
Это текущее решение не следует называть решением вообще, поскольку оно не соответствует цели точного соотношения для каждого имени файла. В настоящее время он разбивает список fileObjects (в основном - имя типа A, число, подобное 1, данные в файле A_1 и т. Д.) В целом по соотношению x: y и пользуется тем преимуществом, что записи приводятся в произвольном порядке при использовании os.scandir.
ratio_number = int(len(list_of_fileObjects) *.7)
list_70 = list_of_fileObjects[:ratio_number]
list_30 = list_of_fileObjects[ratio_number:]
Мой второй подход, который, по крайней мере, быть верным решением было создать список отдельно для каждого файла (включает в себя сортировку весь список файлов), разделить его в соотношении и сделать это для каждого файла. Я ищу более pythonic/элегантное решение этой проблемы. Любые предложения или помощь будут оценены с особой осторожностью, учитывая размер обрабатываемых данных.
Что было бы полезно знать, почему downvotes? Я новичок в форуме и задаю вопросы, особенно с некоторыми исследованиями и объясняющими подходами. Это огорчает меня, а что хуже, это люди, которые отказались от комментариев. –