Использование списка понимания:
print [x for x in item if x not in Z]
или с использованием функции фильтра:
filter(lambda x: x not in Z, item)
Использование set
в любой форме может создать ошибку, если проверяемый список содержит неуникальные элементы, например ::
print item
Out[39]: [0, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print Z
Out[40]: [3, 4, 5, 6]
set(item) - set(Z)
Out[41]: {0, 1, 2, 7, 8, 9}
против понимания списка, как указано выше
print [x for x in item if x not in Z]
Out[38]: [0, 1, 1, 2, 7, 8, 9]
или функция фильтра:
filter(lambda x: x not in Z, item)
Out[38]: [0, 1, 1, 2, 7, 8, 9]