Salut,
Soit une liste bien rangée (L[i] < L[i+1], qqs i)
>>> L = [ "AAA", "AAB", "ABA", "BAA" ]
Pour faire les affichages décales, on fabrique une petite fonction:
1 2 3 4
| >>> def print_at(s, level):
... blanks = ' ' * (level * 2)
... print (blanks, s)
... |
Puis on traite le premier élément (qui devient le dernier):
1 2 3 4 5 6 7
| >>> last = L[0]
>>> for ix, s in enumerate(last):
... print_at(s, ix)
...
A
A
A |
Et on s'occupe du reste:
1 2 3 4 5 6 7 8 9 10 11
| >>> for t in L[1:]:
... for ix, s in enumerate(t):
... if s != last[ix]:
... print_at(s, ix)
... last = t
...
B
B
A
B
A |
- W
PS: Python est polymorphique "AAA" ou un tuple a 3 éléments c'est "pareil" (ici).
Partager