我想用python脚本中的任何最快方法过滤两个列表.我已经filter()
为此目的使用了内置方法.但是它很慢并且花了太多时间因为我有很大的名单,我认为每个列表中的项目超过500万或者可能更多.我不知道怎么做.如果有人有想法或写小功能请.
也许你的名单太大而且不适合记忆,你会遇到颠簸.如果源位于文件中,则不需要同时在内存中存储整个列表.尝试使用itertools,例如:
from itertools import ifilter def is_important(s): return len(s)>10 filtered_list = ifilter(is_important, open('mylist.txt'))
请注意,ifilter返回一个快速且内存有效的迭代器.
Generator Tricks是David M. Beazley的一个教程,教授生成器的一些有趣用途.