Flatten Nested Lists

Lab Python Advanced 30 points

Read a nested list literal such as [1, [2, [3, 4]], 5] (use ast.literal_eval) and print all numbers flattened, using recursion.

Input

One nested list.

Output

The numbers on one line.

Example

Input

[1, [2, [3, 4]], 5]

Output

1 2 3 4 5
Sample input available Sample output available
Editor
Python

Hints

ast.literal_eval safely turns text into a Python literal.

isinstance(item, list) tells you when to recurse.

Solution explanation

Recursion is natural for data that contains smaller copies of itself.

Show solution
import ast


def flatten(items):
    result = []
    for item in items:
        if isinstance(item, list):
            result.extend(flatten(item))
        else:
            result.append(item)
    return result


print(*flatten(ast.literal_eval(input())))
Output
Answer
HOME LEARN COMMUNITY DASHBOARD