Я только что прочитал блестящий ответ от Sloth по адресу Remove lines that contain certain string вопрос во время поиска способа фильтрации мусорных строк в файле txt/csv. Суть заключается в том, чтобы «взять x y z слова/строки/независимо от входного файла, а затем фильтровать каждую строку, набирая только нефильтрованные строки».Python 2.7 если не какой-либо синтаксис?
код он отвечал был:
bad_words = ['bad', 'naughty']
with open('oldfile.txt') as oldfile, open('newfile.txt', 'w') as newfile:
for line in oldfile:
if not any(bad_word in line for bad_word in bad_words):
newfile.write(line)
Мой вопрос: Будет ли кто-нибудь объяснить линию if not any(bad_word in line for bad_word in bad_words):
?
Я пробовал просто положить if not any(bad_word in line):
, но это дало мне ошибку.
Я пытаюсь понять, почему. Беглый поиск на веб-странице python docs не помог мне (я новичок в Python/программировании и, возможно, не слишком яркий для загрузки :-)).
Любые ссылки на меня для чтения оцениваются.
Спасибо!
Возможный дубликат [Как работают все и все функции Python?] (Http://stackoverflow.com/questions/19389490/how-do-pythons-any-and-all-functions-work) – Celeo
Спасибо, я проверяю эту страницу. Вы должны быть быстрым читателем, вы ответили почти сразу после моего опубликования. –