Generate labels for a multi-level outline

python at bdurham.com python at bdurham.com
Tue May 6 17:43:16 EDT 2008


I need to generate multi-level incrementing labels for an
outline/hierarchy where the string for each level of a label is based on
an incrementing sequence like 1, 2, 3 or A, B, C, or even I, II, III.
For simplicity, assume that each level's label segment is separated by a
period (".").

I will pass an integer level (1 ... N) to this function/object so that
level specific counters get reset when the level changes.

I will use this function/object to generate output like:

Label     Level
I.        1
I.A.      2
I.B.      2
I.C.      2
I.D.      2
I.D.1.    3
I.D.2.    3
I.D.3.    3
I.E.      2
II.       1

Is there a pre-built class for generating label sequences like this?
(I'm not sure what I would use as search terms to google for such a
class).

While this sounds like a simple/fun class to write, I think it could
quickly get complicated when one factors in parsing rules for each
level's label type, separators, and error checking. If there's an
existing, road tested class (with unit tests) that does this, I would
rather avoid re-inventing/re-testing the wheel.

Thanks,
Malcolm



More information about the Python-list mailing list