improve idioms (closes #20642)

Patch by Claudiu Popa.
This commit is contained in:
Benjamin Peterson 2014-05-03 20:22:00 -04:00
parent 98baa14109
commit 4ce5f3f203
1 changed files with 3 additions and 5 deletions

View File

@ -221,17 +221,15 @@ def _deepcopy_list(x, memo):
d[list] = _deepcopy_list
def _deepcopy_tuple(x, memo):
y = []
for a in x:
y.append(deepcopy(a, memo))
y = [deepcopy(a, memo) for a in x]
# We're not going to put the tuple in the memo, but it's still important we
# check for it, in case the tuple contains recursive mutable structures.
try:
return memo[id(x)]
except KeyError:
pass
for i in range(len(x)):
if x[i] is not y[i]:
for k, j in zip(x, y):
if k is not j:
y = tuple(y)
break
else: