summaryrefslogtreecommitdiff
path: root/numpy/compat
diff options
context:
space:
mode:
authorCharles Harris <charlesr.harris@gmail.com>2013-04-09 12:44:24 -0600
committerCharles Harris <charlesr.harris@gmail.com>2013-04-10 16:41:13 -0600
commita6164794a63215e23fa28432d9acec4727c68d02 (patch)
treee1f1cb2da6aac69cb3410b623fcf224ec433d1a4 /numpy/compat
parentf85bdf48aadf7b5a5f575370b589805fed190a6c (diff)
downloadnumpy-a6164794a63215e23fa28432d9acec4727c68d02.tar.gz
2to3: Apply `map` fixer.
In Python 3 `map` is an iterator while in Python 2 it returns a list. The simple fix applied by the fixer is to inclose all instances of map with `list(...)`. This is not needed in all cases, and even where appropriate list comprehensions may be preferred for their clarity. Consequently, this patch attempts to use list comprehensions where it makes sense. When the mapped function has two arguments there is another problem that can arise. In Python 3 map stops execution when the shortest argument list is exhausted, while in Python 2 it stops when the longest argument list is exhausted. Consequently the two argument case might need special care. However, we have been running Python3 converted versions of numpy since 1.5 without problems, so it is probably not something that affects us. Closes #3068
Diffstat (limited to 'numpy/compat')
-rw-r--r--numpy/compat/_inspect.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/numpy/compat/_inspect.py b/numpy/compat/_inspect.py
index 931364f6d..557a3da32 100644
--- a/numpy/compat/_inspect.py
+++ b/numpy/compat/_inspect.py
@@ -152,7 +152,7 @@ def joinseq(seq):
def strseq(object, convert, join=joinseq):
"""Recursively walk a sequence, stringifying each element."""
if type(object) in [types.ListType, types.TupleType]:
- return join(map(lambda o, c=convert, j=join: strseq(o, c, j), object))
+ return join([strseq(_o, convert, join) for _o in object])
else:
return convert(object)