[Tutor] Comparing more than 2 lists
Alan Gauld
alan.gauld at btinternet.com
Fri Jan 25 00:14:28 CET 2008
"Fiyawerx" <fiyawerx at gmail.com> wrote
> list1 = ['one', 'two', 'three']
> list2 = ['one', 'two', 'four', 'five']
> list3 = ['two', 'three', 'six', 'seven']
> list4 = ['three', 'five', 'six']
>
> I need to be able to get along the lines of output:
> Element 'one' contained in list1 and list2
> Element 'two' contained in list1 and list2 and list3
> ...
> Element 'five' contained in list2 and list4
>
> etc.. and I can't quite figure out how to go about it
There are lots of approaches, one of the easest is to
use a dictionary keyed by the elements of the lists
and the values the identity of the list in which it
appears:
d = {}
for n, lst in enumerate([list1,list2,list3,list4[):
for item in lst:
d.setdefault(item,[]).append(n)
Gets close
HTH,
--
Alan Gauld
Author of the Learn to Program web site
http://www.freenetpages.co.uk/hp/alan.gauld
More information about the Tutor
mailing list