On Aug 4, 2:15 pm, Jay Bird <jay.bird0...@gmail.com> wrote: > Hi everyone, > > I've been trying to figure out a simple algorithm on how to combine a > list of parts that have 1D locations that overlap into a non- > overlapping list. For example, here would be my input: > > part name location > a 5-9 > b 7-10 > c 3-6 > d 15-20 > e 18-23 > > And here is what I need for an output: > part name location > c.a.b 3-10 > d.e 15-23 > > I've tried various methods, which all fail. Does anyone have an idea > how to do this? > > Thank you very much! > Jay
Just take all the values, put them in a list, and use min() and max(). For example: import string def makelist(values): values = string.replace(values, ' ', '') listofvaluepairs = string.split(values, ',') listofvalues = [] for pair in listofvaluepairs: twovalues = string.split(pair, '-') listofvalues.append(int(twovalues[0])) listofvalues.append(int(twovalues[1])) return listofvalues values = '5-9, 7-10, 3-6' values = makelist(values) print('Values: %d-%d' %(min(values), max(values)) ) Marcus -- http://mail.python.org/mailman/listinfo/python-list