Flatten a List (iterator version) Flatten a List (iterator version)
RU HU English

Nicola likes to categorize all sorts of things. He categorized a series of numbers and as the result of his efforts, a simple sequence of numbers became a deeply-nested list. Sophia and Stephan don't really understand his organization and need to figure out what it all means. They need your help to understand Nikolas crazy list.

There is a list iterator which contains integers or other nested lists iterators...
After that you have to create an iterator object which is linked to this list.

We need to hide this program from Nikola by keeping it small. Because of this, .

A nested list iterator with integers and other iterators.

An iterator object linked to the one-dimensional list with integers.

list(flat_list(iter([1, 2, 3]))) == [1, 2, 3]
list(flat_list(iter([1, iter([2, 2, 2]), 4]))) == [
                     1, 2, 2, 2, 4]
list(flat_list(iter([iter([2]), iter([4, iter([5, 6, iter([6]), 6, 6, 6]), 7])]))) == [
                     2, 4, 5, 6, 6, 6, 6, 6, 7]
list(flat_list(iter([-1, iter([1, iter([-2]), 1]), -1]))) == [
                     -1, 1, -2, 1, -1]

This concept is useful for parsing and analyzing files with complex structures and task challenges that are checking your creativity in writing short code.

0 ≤ |array| ≤ 100
∀ x ∈ array : -2 < x < 2 or x is a list
depth < 10

You should be an authorized user in order to see the full description and start solving this mission.