Parse Array Parse Array
Challenging
English FR RU

In this task you you already have the solution. The problem is that it has a bug and you must try to find and fix it. "import", "exec" and "eval" don't work for this task.

You are given a string that contains a list with integers or nested lists. The integers could have single plus or minus sign before them. If the input string does not contain an array, then raise ValueError. For an incorrectly formatted string -- raise ValueError. Elements of the array are separated by commas.

Input: A string.

Output: The list with nested lists or integers.

Example:

parse_array("[1, 2, 3]") == [1, 2, 3]
parse_array("[[1], 2, 3]") == [[1], 2, 3]
parse_array("[-3, [-2, 0], 10]") == [-3, [-2, 0], 10]

How it is used: This task is designed for you to show off your bug hunting skills. The parser code itself can be modified and improved to work as part of a larger more complex parsing system.

Precondition:
depth < 5
∀ x ∈ data : -1000 < x < 1000