Два основных метода для ускорения вашего процесса:
1) Объект set
имеет (в основном) время линейного доступа при тестировании на включение, тогда как объект list
должен пройти через весь список, так что он зависит от размера списка (т. е. время теста включения растет пропорционально размеру списка)
2) Избегайте создания промежуточных коллекций, если можете, используя генераторы и понимания, когда это возможно что они лениво оцениваются
Вот пример, который использует оба подхода:
#!/usr/bin/env python3
text_list = [["hello", "how", "are", "you", "fine", "thank", "you"],
["good", "morning", "have", "great", "breakfast"],
["you", "are", "a", "student", "I", "am", "a", "teacher"],
["trump", "it", "is", "a", "fake", "news"],
["obama", "yes", "we", "can"]]
# use a set() for remove words because testing for inclusion is much faster than a long list
# removed two of your original bad words so I could make sure it passed some
remove_words = set(["hello", "breakfast", "obama"])
#make a generator, rather than a list, because why not?
result = (sentence for sentence in text_list if all(word not in remove_words for word in sentence))
for acceptable in result:
print(acceptable)
Я не использую ZFS в производстве - еще не имел никакого шанса. Ну, в основном у нас нет потребности в гигантском устройстве хранения данных в настоящее время, и также мы не увеличивали 7.0 до недавнего времени.
Дома у меня есть система FreeBSD (с 7.0 выходами), который является более новейшим. Я использовал ZFS в течение почти восьми месяцев теперь. У меня в настоящее время есть 1,2 ТБ в моем корпусе. Мне нравится ZFS много для нескольких reaons:
Если бы Вы надеетесь испытывать его и как FreeBSD, я рекомендовал бы FreeBSD Wiki.
У меня были некоторые проблемы, которые обрисованы в общих чертах на Wiki, и у меня было много справки/обратной связи от людей на irc (#freebsdhelp Efnet). Я не потерял данных все же. :) (Удар по древесине!) При поиске большего количества обратной связи можно перепроверить на IRC. Существует группа людей, кто выполняет пулы ZFS.
Кроме FreeBSD, ZFS был вокруг некоторое время на платформе солнца. Это - больше пути, более сформировавшегося там начиная с того, что я работаю на FreeBSD, порт и большая происходящая работа.:)
Для чего Вы планируете использовать его? На большинство вопросов о файловых системах можно только ответить разумно, если существует хорошее понимание шаблонов использования и приложения. Какие работы хорошо для традиционной почтовой файловой системы шпульки, вероятно, не будут тем, что Вы выбираете для хранилища базы данных, например.
Я использовал его в качестве низкой арендной платы около системы хранения строки на машине с OpenSolaris, установленным на нем. У меня был он в основной зеркальной системе RAID с ценностью 30 дней снимков. Больше чем в одном случае это убралось подобру-поздорову, и это было на очень простой установке. Я могу только вообразить, сколько Вы могли сделать с ним на более серьезных/способных аппаратных средствах.
Как системный администратор в магазине Linux я использую ZFS в качестве сервера резервного копирования. Используемый для выполнения cronjob, чтобы сделать снимки, но в эти дни я использую zfs-auto-snapshot сервис, который идет с SXCE. Резервным копированием является NFS, экспортируемый и автосмонтированный на всех машинах в сети - таким образом, люди могут восстановить сами файлы - даже создает снимки, экспортируются по сети!
Мне даже смонтировали мой корневой каталог NFS от всех машин Linux - таким образом, я получаю почасовые снимки своей ежедневной работы.
В то время как ZFS не прекрасен, это действительно, кажется, лучшая файловая система, доступная сегодня.
Я занимаюсь разработкой и использую ZFS в двух средах:
1) На моем Mac Pro с RAIDZ2 на четырех дисках
2) На сервере резервного копирования, которым является DesktopBSD (на основе FreeBSD ) с двумя дисками в RAIDZ1
По моему общему опыту, впервые мне не нужно делать ежедневные резервные копии данных, поскольку я убедился, что ZFS кажется самой надежной системой хранения, которую я когда-либо использовал.