From 8eecddaf601f5ce11c6731a357c1586b7f91f248 Mon Sep 17 00:00:00 2001 From: Stefan Harmuth Date: Mon, 7 Dec 2020 10:35:09 +0100 Subject: [PATCH] note to myself: set()s are much faster than list()s and auto-eliminate duplicates --- day07.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/day07.py b/day07.py index 009f342..3de8b51 100644 --- a/day07.py +++ b/day07.py @@ -32,16 +32,15 @@ def getBagContent(bag_line): def getPossibleBagsForMyColor(color_dict, my_color): if my_color not in color_dict: - return [] + return set() - color_list = color_dict[my_color] + color_set = set(color_dict[my_color]) for color in color_dict[my_color]: - extend_list = getPossibleBagsForMyColor(color_dict, color) - for extra_color in extend_list: - if extra_color not in color_list: - color_list.append(extra_color) + extend_set = getPossibleBagsForMyColor(color_dict, color) + for extra_color in extend_set: + color_set.add(extra_color) - return color_list + return color_set def getBagContentCount(color_dict, my_color):