(Disclaimer: completely untested) from collections import defaultdict
merged = defaultdict(list) for key, val in your_list_of_pairs: merged[key].append(val) result = [[key]+vals for key, vals in merged.items()] Cheers, Chris -- Follow the path of the Iguana... http://rebertia.com On Fri, Oct 17, 2008 at 1:20 PM, JD <[EMAIL PROTECTED]> wrote: > Hi, > > I need help for a task looks very simple: > > I got a python list like: > > [['a', 'b'], ['c', 'd'], ['e', 'f'], ['a', 'g'], ['e', 'k'], ['c', > 'u'], ['b', 'p']] > > Each item in the list need to be merged. > > For example, 'a', 'b' will be merged, 'c', 'd' will be merged. > > Also if the node in the list share the same name, all these nodes need > be merged. > > For example, ['a', 'b'], ['a', 'g'] ['b', 'p'] will be merged to ['a', > 'b', 'g', 'p'] > > The answer should be: > > [['a', 'b', 'g', 'p'], ['c', 'd', 'u'], ['e', 'f', 'k']] > > Anyone has a solution? > > Thanks, > > JD > -- > http://mail.python.org/mailman/listinfo/python-list > -- http://mail.python.org/mailman/listinfo/python-list