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.

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to