Извините за новый вопрос ie, но у меня возникают проблемы с выяснением, как выполнить заданную мной задачу c на основе других потоков, и, что более важно, у меня возник вопрос о том, правильно ли я подхожу к этой проблеме с точки зрения оптимизации кода.
Я уверен, что где-то был дан ответ, но возникла проблема с поиском подходящей темы. У меня есть список имен файлов, file_list
, и я хочу удалить все записи в списке, которые заканчиваются на '.jld2'
.
Я попытался
file_list=file_list[file_list.endswith('.jld2')==0]
, но это просто возвращает ошибка (конечно, так как file_list - это не строка, а список строк). Теперь я мог бы решить эту проблему с помощью для l oop, используя
for filename in file_list:
if filename.endswith('jld2')==0:
file_list.remove(filename)
Однако мне было интересно, если это самый эффективный способ сделать это вместо поиска векторизованной реализации, а если нет, как бы я? Я знаю, что циклы for в MATLAB не особенно эффективны и всегда предпочтительнее векторизованная реализация, но верно ли это и для Python?
Спасибо