P
pyscottishguy
Hi,
I'm playing around with list comprehension, and I'm trying to find the
most aesthetic way to do the following:
I have two lists:
noShowList = ['one', 'two', 'three']
myList = ['item one', 'item four', 'three item']
I want to show all the items from 'myList' that do not contain any of
the strings in 'noShowList'.
i.e. 'item four'
I can do it like this:
def inItem(noShowList, listitem):
return [x for x in noShowList if x in listitem]
print [x for x in myList if not inItem(noShowList, x)]
and I can do it (horribly) with:
print [x for x in myList if not (lambda y, z:[i for i in y if i in z])
(noShowList, x)]
I can also print out the items that DO contain the 'noShowList'
strings with:
print [x for x in myList for y in noShowList if y in x]
but I can't get the 'not' bit to work in the above line.
Any ideas?
Thanks!
I'm playing around with list comprehension, and I'm trying to find the
most aesthetic way to do the following:
I have two lists:
noShowList = ['one', 'two', 'three']
myList = ['item one', 'item four', 'three item']
I want to show all the items from 'myList' that do not contain any of
the strings in 'noShowList'.
i.e. 'item four'
I can do it like this:
def inItem(noShowList, listitem):
return [x for x in noShowList if x in listitem]
print [x for x in myList if not inItem(noShowList, x)]
and I can do it (horribly) with:
print [x for x in myList if not (lambda y, z:[i for i in y if i in z])
(noShowList, x)]
I can also print out the items that DO contain the 'noShowList'
strings with:
print [x for x in myList for y in noShowList if y in x]
but I can't get the 'not' bit to work in the above line.
Any ideas?
Thanks!