Iyer wrote: > if I have a list of lists, that goes like this: > [[0,['a','b']],[0,['c','d']],[3,['f','g']], [0,['a','b']],[0,['c','d']], > [3,['f1','f2']], [2,['zz','dd']]] > > what could be the best way to reorder this such that the sublists with > the same first element go into their own sub-list ? > > Does this seem to be the best way to do it ? > > list1 = [] > > for key, items in groupby(data_list, key= itemgetter(0)): > list1.append(list(items))
This looks good to me. You could use a list comprehension which is a bit more concise and idiomatic: list1 = [ list(items) for key, items in groupby(data_list, key= itemgetter(0)) ] I can't help thinking that perhaps you should be using dicts to hold your data, you seem to have key/value pairs, but without knowing more about the problem I can't tell. Ken _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor