Thanks Kent, I liked the generator solution (I knew there had to be something like that).
-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Kent Johnson Sent: 09 May 2006 17:54 Cc: tutor@python.org Subject: Re: [Tutor] Summing part of a list << snip >> Hmm, must be generator day today. Here is a generator that does what you want: In [1]: data = [(u'gbr', 30505), (u'fra', 476), (u'ita', 364), (u'ger', 299), ...: (u'fin', 6), (u'ven', 6), (u'chi', 3), (u'hun', 3), (u'mar', 3), ...: (u'lux', 2), (u'smo', 2), (u'tch', 2), (u'aho', 1), (u'ber', 1)] In [10]: def summarize(data): ....: sum = 0 ....: othersFound = False ....: for item in data: ....: if item[1] > 3: ....: yield item ....: else: ....: sum += item[1] ....: othersFound = True ....: if othersFound: ....: yield ('OTHER', sum) ....: In [11]: print list(summarize(data)) [(u'gbr', 30505), (u'fra', 476), (u'ita', 364), (u'ger', 299), (u'fin', 6), (u'ven', 6), ('OTHER', 17)] << snip >> _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor