<snip> > _______________________________________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > http://mail.python.org/mailman/listinfo/tutor > > > sum(1 if type(elem) == list else 0 for elem in list1) not work for you if > all you want to do is count how many lists you have in your main list ? > > not count how many sublists in the main list. > > wanna count the occurence of the sublists, > > I mean, something like > > dictionary[list1[1]]=occurence > > Traceback (most recent call last): > File "<pyshell#298>", line 1, in <module> > dictionary[list1[1]]=1 > TypeError: unhashable type: 'list' > > dictionary[list1[1]]=1 > > Traceback (most recent call last): > File "<pyshell#298>", line 1, in <module> > dictionary[list1[1]]=1 > TypeError: unhashable type: 'list' > > > For that you'll need to convert your list to a hash-able type if you want to > use dictionaries for your store, easiest would probably to use the string > representation for it so you could do > >>>> list1 = [['61', '34', '61', '34'], ['61', '35', '61', '70', '61'], >>>> ['61', '70', '61', '34'], ['34', '58', '34', '58']] >>>> weight = {} >>>> for elem in list1: > ... if elem.__repr__() in weight:
This is cool. May I ask which role the __repr__ plays here? > ... weight[elem.__repr__()] += 1 > ... else: > ... weight[elem.__repr__()] = 1 > ... >>>> weight > {"['34', '58', '34', '58']": 1, "['61', '70', '61', '34']": 1, "['61', '34', > '61 > ', '34']": 1, "['61', '35', '61', '70', '61']": 1} > > or > >>>> from collections import defaultdict >>>> list1 = [['61', '34', '61', '34'], ['61', '35', '61', '70', '61'], >>>> ['61', '7 > 0', '61', '34'], ['34', '58', '34', '58']] >>>> weight = defaultdict(int) >>>> for elem in list1: > ... weight[elem.__repr__()] += 1 > ... >>>> weight > defaultdict(<type 'int'>, {"['34', '58', '34', '58']": 1, "['61', '70', > '61', '34']": 1, "['61', '34', '61', '34']": 1, "['61', '35', '61', '70', > '61']": 1}) > > Hope that helps. > > -- > > Christian Witts > Python Developer > _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor