A "for" with "list" question.
Frank Buss
fb at frank-buss.de
Sun Sep 1 13:09:46 EDT 2002
Sean 'Shaleh' Perry <shalehperry at attbi.com> wrote:
> oddballs = []
> for item in b: # iterate over one list
> if item in a: # test if it is in the other list
> print item
> else:
> oddballs.append(item)
>
> for item in oddballs:
> print item
That's wrong, because you won't get 0, which is in a, but not in b.
Derived from the nice solution from Graham I would write:
>>> a = [0,1,2]
>>> b = [1,2,3]
>>> inBothLists = [item for item in a if item in b]
>>> inOneListOnly = [item for item in a+b if item not in inBothLists]
>>> print inBothLists
[1, 2]
>>> print inOneListOnly
[0, 3]
--
Frank Buß, fb at frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
More information about the Python-list
mailing list