On Tuesday 27 July 2010 12:18 PM, Vikram wrote:
have the following:

x
[['NM100', 1, 2], ['NM100', 3, 4], ['NM200', 5, 6]]
for i in x:
...   print i
...
['NM100', 1, 2]
['NM100', 3, 4]
['NM200', 5, 6]

------
how does one obtain list z such that

z = [['NM100',1,2,3,4],['NM200',5,6]]
_______________________________________________
BangPypers mailing list
[email protected]
http://mail.python.org/mailman/listinfo/bangpypers
A less readable solution using itertools

#------------
from itertools import *

get_first = lambda x: x[0]
filter_first_and_chain_rest = lambda seq: chain(*(x[1:] for x in seq))

data = [['NM100', 1, 2], ['NM100', 3, 4], ['NM200', 5, 6]]
grouped = groupby(sorted(data), get_first)
print list ([label] + list(filter_first_and_chain_rest(grp)) for label, grp in grouped)


~Shekhar

_______________________________________________
BangPypers mailing list
[email protected]
http://mail.python.org/mailman/listinfo/bangpypers

Reply via email to