Flatten lists recursively (droste bite)
Level: Intermediate (score: 3)
Complete flatten
that takes a list of lists (which can have lists ad infinitum) and flatten them into a one dimensional list.
So this input:
[1, [2, 3], [4, 5, [6, 7, [8, 9, 10]]]]
... should generate this output:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
(Making this a generator is fine too, the test will convert that into a list
).
Make sure you support both list
s and tuple
s. You probably want to use recursion here ... have fun!