diff --git a/06/tasks/task_28_flatten_list.py b/06/tasks/task_28_flatten_list.py index 56f4d8f..65c925d 100644 --- a/06/tasks/task_28_flatten_list.py +++ b/06/tasks/task_28_flatten_list.py @@ -2,7 +2,13 @@ def flatten_list(nested: list[list[int]]) -> list[int]: """ - Převede dvourozměrný seznam na jednorozměrný. + Converts a multi-nested list to a single-dimensional list. """ + flat_list = [] + for item in nested: + if isinstance(item, list): + flat_list.extend(flatten_list(item)) + else: + flat_list.append(item) - return [digit for sublist in nested for digit in sublist] + return flat_list diff --git a/06/test_28_flatten_list.py b/06/test_28_flatten_list.py index 50ff6c2..b2c17f9 100644 --- a/06/test_28_flatten_list.py +++ b/06/test_28_flatten_list.py @@ -12,4 +12,8 @@ def test_flatten_list(): assert flatten_list([[0], [0, 0]]) == [0, 0, 0] assert flatten_list([[10, 20], [30], [], [40, 50, 60]]) == [10, 20, 30, 40, 50, 60] assert flatten_list([[1], [], [], [], [2]]) == [1, 2] + assert flatten_list([[[1]], 2, [3, [4]]]) == [1, 2, 3, 4] + assert flatten_list([0, [0, [0]]]) == [0, 0, 0] + assert flatten_list([10, [20, [30, [40]]]]) == [10, 20, 30, 40] + assert flatten_list([1, [2], 3, [4, [5, [6]]]]) == [1, 2, 3, 4, 5, 6]