l1 = ['g', 'a', 'f', 'b', 'q', 'd', 'g']
l2 = ['f', 'a']
# 差分は出るが順番は保持されない
r1 = list(set(l1)-set(l2))
print(r1)
# 順番は保持されるが重複は削除される
r2 = sorted(r1, key=l1.index) # l1での出現順にソート
print(r2)
# 重複も保持される
r3 = list(filter(lambda x: x not in l2, l1)) # python3 では filter の戻り値がイテレータになるのでlist化
print(r3)
bDEgPSBbJ2cnLCAnYScsICdmJywgJ2InLCAncScsICdkJywgJ2cnXQpsMiA9IFsnZicsICdhJ10KCiMg5beu5YiG44Gv5Ye644KL44GM6aCG55Wq44Gv5L+d5oyB44GV44KM44Gq44GECnIxID0gbGlzdChzZXQobDEpLXNldChsMikpCnByaW50KHIxKQoKIyDpoIbnlarjga/kv53mjIHjgZXjgozjgovjgYzph43opIfjga/liYrpmaTjgZXjgozjgosKcjIgPSBzb3J0ZWQocjEsIGtleT1sMS5pbmRleCkJIyBsMeOBp+OBruWHuuePvumghuOBq+OCveODvOODiApwcmludChyMikKCiMg6YeN6KSH44KC5L+d5oyB44GV44KM44KLCnIzID0gbGlzdChmaWx0ZXIobGFtYmRhIHg6IHggbm90IGluIGwyLCBsMSkpCSMgcHl0aG9uMyDjgafjga8gZmlsdGVyIOOBruaIu+OCiuWApOOBjOOCpOODhuODrOODvOOCv+OBq+OBquOCi+OBruOBp2xpc3TljJYKcHJpbnQocjMp
['b', 'q', 'd', 'g']
['g', 'b', 'q', 'd']
['g', 'b', 'q', 'd', 'g']