Eliminar los elementos de una lista, si está en otra lista

A. Esquivias :

Tengo dos listas con algunas combinaciones de números y me gustaría quitar el elemento de una lista se encuentra en la otra lista.

Es decir, las listas pueden ser:

X = [1, 2, 3, 128, 129, 134, 135, 136, 145, 146, 156, 164, 234, 235, 236, 245, 246, 266, 345]
Y = [12, 16, 26, 126]

Así que me gustaría borrar de la primera lista de todos los elementos que incluyen algún elemento de la segunda lista, así que nos gustaría eliminar todos los elementos que contengan '12', '16', '26' o '126'.

Terminando con una lista compuesta por

[1, 2, 3, 134, 135, 136, 145, 146, 156, 234, 235, 236, 245, 246, 256, 345]

Saludos y gracias de antemano

kederrac:

se puede utilizar una lista por comprensión:

str_y = list(map(str, Y))

X = [e for e in X if all(y not in str(e) for y in str_y)]
X

salida:

[1, 2, 3, 134, 135, 136, 145, 146, 156, 234, 235, 236, 245, 246, 345]

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=365471&siteId=1
Recomendado
Clasificación