summaryrefslogtreecommitdiff
path: root/numpy/lib/recfunctions.py
diff options
context:
space:
mode:
authorEric Wieser <wieser.eric@gmail.com>2017-07-01 20:53:56 +0100
committerEric Wieser <wieser.eric@gmail.com>2017-07-01 20:53:56 +0100
commitae14f151d2534dfa1b632ed156fe8e7fc9753de2 (patch)
tree372a922d796357cef778d6f51e03b9d1996c9bee /numpy/lib/recfunctions.py
parent908cd986a5e1dcefd68e37dce5ac14641e364e56 (diff)
downloadnumpy-ae14f151d2534dfa1b632ed156fe8e7fc9753de2.tar.gz
MAINT: Avoid one more use of descr
Diffstat (limited to 'numpy/lib/recfunctions.py')
-rw-r--r--numpy/lib/recfunctions.py17
1 files changed, 6 insertions, 11 deletions
diff --git a/numpy/lib/recfunctions.py b/numpy/lib/recfunctions.py
index 6e2d1726f..e9ba38f46 100644
--- a/numpy/lib/recfunctions.py
+++ b/numpy/lib/recfunctions.py
@@ -93,17 +93,12 @@ def get_fieldspec(dtype):
# .descr returns a nameless field, so we should too
return [('', dtype)]
else:
- # extract the titles of the fields
- name_titles = {}
- for d in dtype.descr:
- name_title = d[0]
- if isinstance(name_title, tuple):
- name = name_title[1]
- else:
- name = name_title
- name_titles[name] = name_title
-
- return [(name_titles[name], dtype[name]) for name in dtype.names]
+ fields = ((name, dtype.fields[name]) for name in dtype.names)
+ # keep any titles, if present
+ return [
+ (name if len(f) == 2 else (f[2], name), f[0])
+ for name, f in fields
+ ]
def get_names(adtype):