Python怎么将列表A与列表B的交集从A中删除

a b c d e f 代表不定的元素

情景1:
lista = a b c d e
listb = c d f
out = a b e

情景2:
lista = a b c d e
listb = c
out = a b d e

情景3:
lista = a b c d e
listb = c d
out = a b e

情景4:
lista = c
listb = c
out =

 

lista = ['a','b','c','d','e']
listb = ['c']
s = list(set(lista)-(set(listb)))
print(s)

 

转换成set,然后两个set相减,再然后转换回来。

out=list(set(lista) - set(listb))

 

lista=[i for i in lista if i in listb]

错了,应该是not in 

lista=[i for i in lista if i not in listb]