From d1b274b050a4412aa469a88b3566719eca4efba0 Mon Sep 17 00:00:00 2001 From: Egor Kostan Date: Mon, 10 Nov 2025 22:15:32 -0800 Subject: [PATCH] Refactor annotate function for conciseness Simplified the annotate function by replacing the loop and intermediate list with a more concise list comprehension and string join. This improves readability and reduces code complexity. --- flower-field/flower_field.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/flower-field/flower_field.py b/flower-field/flower_field.py index 1324ba5..7214ea3 100644 --- a/flower-field/flower_field.py +++ b/flower-field/flower_field.py @@ -43,16 +43,15 @@ def annotate(garden: list[str]) -> list[str]: return [] # raise an error when the board receives malformed input _validate(garden) - new_garden: list[str] = [] - for i_row, row in enumerate(garden): - new_row = [ - str(_calc_surrounding_flowers(i_row, i_col, garden)) - if _calc_surrounding_flowers(i_row, i_col, garden) != 0 + return [ + "".join( + str(count) + if (count := _calc_surrounding_flowers(i_row, i_col, garden)) != 0 else char for i_col, char in enumerate(row) - ] - new_garden.append("".join(new_row)) - return new_garden + ) + for i_row, row in enumerate(garden) + ] def _calc_surrounding_flowers(i_row: int, i_col: int, garden: list[str]) -> int: