Eric V. Smith <[email protected]> added the comment:
Maybe do both, then. Also, it's probably better for performance reasons (I
know: premature optimization and all that ...):
@@ -1018,8 +1018,10 @@ def _asdict_inner(obj, dict_factory):
value = _asdict_inner(getattr(obj, f.name), dict_factory)
result.append((f.name, value))
return dict_factory(result)
- elif isinstance(obj, (list, tuple)):
+ elif type(obj) in (list, tuple):
return type(obj)(_asdict_inner(v, dict_factory) for v in obj)
+ elif isinstance(obj, (list, tuple)):
+ return type(obj)(*[_asdict_inner(v, dict_factory) for v in obj])
elif isinstance(obj, dict):
return type(obj)((_asdict_inner(k, dict_factory), _asdict_inner(v,
dict_factory))
for k, v in obj.items())
I guess we could argue it's a bug in nametuples, but I don't see that getting
us very far.
----------
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue34363>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com