我想删除列表 A 中包含列表 B 中的元组的所有元组。
这通常是一件小事,但我在列表 A 中有 1000 万条记录,在列表 B 中有 20 万条记录。我当前的脚本(见下文)非常慢(每次扫描列表 A 约 10 秒)。
例子:
# Input:
listA = [(1,2,3,4,5),(1,2,4,5,6),(1,2,3,7,55),(8,21,22,24,37),...] # 10 million records
listB = [(1,2,4),(1,4,6),(21,24,37),...] # 200K records
# Desired Output (filtered listA):
listA = [(1,2,3,7,55),...]
当前的脚本很慢:
listA=[(1,2,3,4,5),(1,2,4,5,6),(1,2,3,7,55),(8,21,22,24,37)]
listB=[(1,2,4),(1,4,6),(21,24,37)]
listATemp=[]
for b in listB:
for a in listA:
if not set(b).issubset(a) :
listATemp.append(a)
listA= listATemp
listATemp= []