У меня есть список проклятых слов, которые я хочу сопоставить с другим списком, чтобы удалить совпадения. Обычно я использую list.remove («запись») на индивидуальной основе, но перебираю список записей по другому списку, а затем удаляет их. Есть идеи?Удалить список записей, которые соответствуют любой записи в другом списке
ответ
Использование filter
:
>>> words = ['there', 'was', 'a', 'ffff', 'time', 'ssss']
>>> curses = set(['ffff', 'ssss'])
>>> filter(lambda x: x not in curses, words)
['there', 'was', 'a', 'time']
>>>
Это также может быть сделано с пониманием списка:
>>> [x for x in words if x not in curses]
Создание 'curses' списка - плохая идея -' in' является O (1) для набора, O (n) для списка. –
Спасибо Хью, исправлена. –
Использование комплектов.
a=set(["cat","dog","budgie"])
b=set(["horse","budgie","donkey"])
a-b
->set(['dog', 'cat'])
Что делать, если у меня уже есть списки? Могу ли я сделать: а = [ 'bad_word1', 'bad_word2'] б = [ 'а', 'б', 'bad_word1'] set1 = множество (а) set2 = множество (б) set1 - set2 a = set1 b = set2 – ewhitt
Обратите внимание, что наборы могут испортить порядок слов, а также удалять повторяющиеся слова из вашего списка. И это должно быть быстрее, я думаю. –
- 1. Удаление записей из списка, которые также находятся в другом списке
- 2. Получить список записей, которые не существуют в другом списке - Linq
- 3. Как удалить записи из списка, которые соответствуют значения из набора
- 4. Найти записи, которые имеют детей записи, которые соответствуют все записи в списке
- 5. удалить элементы в одном списке, которые есть в другом списке
- 6. Удалить «пустые» записи в списке
- 7. Возвращаясь только идентификаторы записей, которые соответствуют критериям
- 8. Как удалить элементы массива, которые соответствуют элементам в другом массиве
- 9. Получите количество записей, которые соответствуют запросу CloudKit
- 10. Поиск записей, которые соответствуют последовательной последовательности
- 11. Удалить те элементы из списка, которые индексируются в другом списке
- 12. Найти группу записей, которые соответствуют определенным критериям
- 13. Выбор элементов в списке, которые соответствуют интерфейс
- 14. Найти список строк, которые соответствуют
- 15. Oracle: показать записи, которые не соответствуют условиям
- 16. Удалить записи, которые соответствуют регулярному выражению с помощью sed
- 17. блокнот ++ удалить строки, которые соответствуют
- 18. Идентифицировать записи в одном списке, которые отображаются в другой форме в другом списке
- 19. Список элементов, появляющихся в другом списке
- 20. Как рассчитать количество записей, которые соответствуют и не соответствуют критериям
- 21. Найти список в другом списке
- 22. найти список в другом списке
- 23. Найти группу записей, которые соответствуют несколько значений
- 24. Rails API: Выбор записей, которые соответствуют параметрам
- 25. возвращаемых записей, которые только соответствуют * все * из приведены в значениях
- 26. Как получить записи, которые соответствуют части поиска?
- 27. Rails - получить записи, которые соответствуют определенному wday
- 28. фильтр магазин записи, которые не соответствуют значения
- 29. Удалить пустые записи в списке
- 30. MySQL возвращение записи, которые не соответствуют запросу
Вы пишете профанация фильтр? Удачи вам с проблемой [Scunthorpe] (http://en.wikipedia.org/wiki/Scunthorpe_problem)! – Johnsyweb
Имеет ли значение вопрос? (если да, возьмите фильтр, если нет, возьмите наборы) – georg