Eric V. Smith <e...@trueblade.com> 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 <rep...@bugs.python.org> <https://bugs.python.org/issue34363> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com