I think you like list iterators. Does this work?
children = [segment_tree(body[start:end], part, label for start,end in segments]