summaryrefslogtreecommitdiff
path: root/numpy/core/arrayprint.py
diff options
context:
space:
mode:
Diffstat (limited to 'numpy/core/arrayprint.py')
-rw-r--r--numpy/core/arrayprint.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/numpy/core/arrayprint.py b/numpy/core/arrayprint.py
index dba9dffb3..f6f610f79 100644
--- a/numpy/core/arrayprint.py
+++ b/numpy/core/arrayprint.py
@@ -241,6 +241,13 @@ def _boolFormatter(x):
else:
return 'False'
+def _object_format(o):
+ """ Object arrays containing lists should be printed unambiguously """
+ if type(o) is list:
+ fmt = 'list({!r})'
+ else:
+ fmt = '{!r}'
+ return fmt.format(o)
def repr_format(x):
return repr(x)
@@ -256,6 +263,7 @@ def _get_formatdict(data, precision, suppress_small, formatter):
'longcomplexfloat': lambda: LongComplexFormat(precision),
'datetime': lambda: DatetimeFormat(data),
'timedelta': lambda: TimedeltaFormat(data),
+ 'object': lambda: _object_format,
'numpystr': lambda: repr_format,
'str': lambda: str}
@@ -326,6 +334,8 @@ def _get_format_function(data, precision, suppress_small, formatter):
return formatdict['numpystr']()
elif issubclass(dtypeobj, _nt.datetime64):
return formatdict['datetime']()
+ elif issubclass(dtypeobj, _nt.object_):
+ return formatdict['object']()
else:
return formatdict['numpystr']()