[EMAIL PROTECTED] wrote:
> Nevermind, I didn't understand the problem/question... Sorry.
> 
> Bye,
> bearophile
> 
Really?  Your solution looks fine to me.

In any case, here's an alternative approach to the (based on the same 
understanding of the problem as bearophile's, but with the additional 
requirement that the input terms be sorted)

 >>> from itertools import groupby
 >>> from operator import itemgetter
 >>> src_iter = ((i[:-1],i[-1]) for i in src.splitlines()) #src must be sorted
 >>> grouped = groupby(src_iter, itemgetter(0))
 >>> stemmed = ((stem, "".join(i[1] for i in values)) for stem, values in 
 >>> grouped)
 >>> [(len(s[1])>1 and "%s[%s]" or "%s%s") % s for s in stemmed]
['apple[12]', 'apple3_SD', 'form[ABC]', 'kla_M[MB]', 'kca_MM']
 >>>


Michael

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to