Flatten Nested Lists
Completed
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
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())))