On Sat, Apr 13, 2019 at 12:38 AM Serhiy Storchaka <[email protected]> wrote:
>
> It looks contrary to simplification made in Python 3 when we get rid of
> some more efficient lists in favor of more general iterators.
>
Yes. This is API for special use case creates many dict having
same keys, like csv.DictReader.
It is not good design for general purpose.
strings module has strings.Template class. But I don't want to add
dicts module.
Maybe, collections.DictBuilder may be another option. e.g.
>>> from collections import DictBuilder
>>> builder = DictBuilder(tuple("abc"))
>>> builder.build(range(3))
{"a": 0, "b": 1, "c": 2}
> If this is a common case we can add an invisible optimization for
> dict(zip(keys, values)), especially if keys is a key-sharing dictionary.
> This will benefit all users without the need to rewrite the code to use
> the new special method.
But this optimization may slow down when creating one dict...
>
> The interface of dict is already overloaded. It contains many methods
> which most users use rarely (and therefore which are not kept in the
> working set of memory).
Yes.
--
Inada Naoki <[email protected]>
_______________________________________________
Python-Dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com