python remove duplicatas de 2 listas

Estou tentando remover duplicatas de 2 listas. então eu escrevi esta função:

a = ["abc", "def", "ijk", "lmn", "opq", "rst", "xyz"]

b = ["ijk", "lmn", "opq", "rst", "123", "456", ]

for i in b:
    if i in a:
        print "found " + i
        b.remove(i)

print b

Mas acho que os itens correspondentes após um item correspondente não são removidos.

Eu obtenho resultado assim:

found ijk
found opq
['lmn', 'rst', '123', '456']

mas espero resultado como este:

['123', '456']

Como posso corrigir minha função para fazer o que eu quero?

Obrigado.

questionAnswers(7)

yourAnswerToTheQuestion