我有一個巨大的列表,這是all_entries
(目前80k整數項)。在此列表中包含我已在我的整個程序中處理的項目。如何篩選出兩個巨大列表的列表項?
當我的程序使用以下方法時,通常需要大約30秒才能到達return語句。我如何加快速度?提示:new_entries
是40k長,如此巨大。
def get_fresh_entries(self, new_entries, all_entries):
"""
:param new_entries: Entries from which some might already be in all_entries.
:param all_entries: Entries already handled and saved.
"""
fresh = []
shuffle(new_entries)
for i in new_entries:
if i not in all_entries:
fresh.append(i)
if len(fresh) > 80000:
break
return fresh
40k和80k不是_huge_ –
'[x for new_entries,如果x不在all_entries中]'是嗎? – Zero