From fa1d9d098e48aceed38fbf86fb63359d16114835 Mon Sep 17 00:00:00 2001 From: Dragca Kvasnickova Date: Thu, 24 Apr 2025 10:10:14 +0200 Subject: [PATCH] 28 Converts a multi-nested list to a single-dimensional list --- 06/tasks/task_28_flatten_list.py | 10 ++++++++-- 06/test_28_flatten_list.py | 4 ++++ 2 files changed, 12 insertions(+), 2 deletions(-) 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]