[Python-Dev] Proposal: dict.with_values(iterable) (original) (raw)

Serhiy Storchaka storchaka at gmail.com
Tue Apr 23 13:48:15 EDT 2019


12.04.19 19:17, Inada Naoki пише:

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}

Nitpicking: this is rather a factory than a builder. The difference between the patterns is that you create a new builder object for every dict:

 builder = DictBuilder()
 builder['a'] = 0
 builder['b'] = 1
 builder['c'] = 2
 result = builder.build()

and create a fabric only for the whole class of dicts:

 factory = DictFactory(tuple("abc"))  # only once
 ...
 result = factory(range(3))

I like the idea of a factory object more than the idea of the dict method.



More information about the Python-Dev mailing list