Aplanar una llista¶
Un EOL és una estructura que es defineix de forma recursiva: un EOL és o bé un enter o bé una llista, les components de la qual són a la seva vegada un EOL. Per tant, per exemple són EOLs:
El nombre 8
La llista [1, 2, 3]
La llista [7, [12], [5, 7]]
La llista [[9, 32, 83], [ [4] ], [], 5]
Dissenyeu la funció recursiva següent i deseu-la al mòdul eol.py:
- eol.aplana_EOL(x)¶
Retorna la llista (d’un sol nivell) amb tots els nombres enters de l’EOL x, en el mateix ordre que hi apareixen:
Per exemple:
>>> aplana_EOL(8)
[8]
>>> aplana_EOL([1, 2, 3])
[1, 2, 3]
>>> aplana_EOL([7, [12], [5, 7]])
[7, 12, 5, 7]
>>> aplana_EOL([[9, 32, 83], [[4]], [], 5])
[9, 32, 83, 4, 5]
Per comprovar el tipus de quin tipus és un objecte, es recomana
utilitzar la funció predefinida de Python isinstance().
Disposeu de més jocs de proves al fitxer eol.txt i d’una
proposta de solució al fitxer eol.py.