fork download
  1. l1 = ['g', 'a', 'f', 'b', 'q', 'd', 'g']
  2. l2 = ['f', 'a']
  3.  
  4. # 差分は出るが順番は保持されない
  5. r1 = list(set(l1)-set(l2))
  6. print(r1)
  7.  
  8. # 順番は保持されるが重複は削除される
  9. r2 = sorted(r1, key=l1.index) # l1での出現順にソート
  10. print(r2)
  11.  
  12. # 重複も保持される
  13. r3 = list(filter(lambda x: x not in l2, l1)) # python3 では filter の戻り値がイテレータになるのでlist化
  14. print(r3)
Success #stdin #stdout 0.02s 9992KB
stdin
Standard input is empty
stdout
['b', 'q', 'd', 'g']
['g', 'b', 'q', 'd']
['g', 'b', 'q', 'd', 'g']