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)