From: Michael Selik Date: Sun, 2 Apr 2017 06:02:31 +0000 (-0400) Subject: bpo-29957: change LBYL key lookup to dict.setdefault (#938) X-Git-Tag: v3.7.0a1~1018 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=11fa3c7cd1b151e302d4eee0369cafbaf151c8fb;p=python bpo-29957: change LBYL key lookup to dict.setdefault (#938) * change LBYL key lookup to dict.setdefault The ``results`` was constructed as a defaultdict and we could simply delete the check ``if key not in results``. However, I think it's safer to use dict.setdefault as I'm not sure whether the caller expects a regular dict or defaultdict. * add name to the acknowledgements file * use defaultdict to make the key-lookup cleaner --- diff --git a/Lib/lib2to3/btm_matcher.py b/Lib/lib2to3/btm_matcher.py index eabe1a71a6..3b78868038 100644 --- a/Lib/lib2to3/btm_matcher.py +++ b/Lib/lib2to3/btm_matcher.py @@ -117,10 +117,7 @@ class BottomMatcher(object): #token matches current_ac_node = current_ac_node.transition_table[node_token] for fixer in current_ac_node.fixers: - if not fixer in results: - results[fixer] = [] results[fixer].append(current_ast_node) - else: #matching failed, reset automaton current_ac_node = self.root @@ -134,8 +131,6 @@ class BottomMatcher(object): #token matches current_ac_node = current_ac_node.transition_table[node_token] for fixer in current_ac_node.fixers: - if not fixer in results.keys(): - results[fixer] = [] results[fixer].append(current_ast_node) current_ast_node = current_ast_node.parent diff --git a/Misc/ACKS b/Misc/ACKS index 21642065f4..379ffc554a 100644 --- a/Misc/ACKS +++ b/Misc/ACKS @@ -1376,6 +1376,7 @@ Steven Scott Nick Seidenman Michael Seifert Žiga Seilnacht +Michael Selik Yury Selivanov Fred Sells Jiwon Seo