Найти все строки в списке строк, заканчивающихся значением в Python - PullRequest
0 голосов
/ 04 мая 2020

Извините за новый вопрос 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?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...