No worries, already implemented features happens so often in this list that there's a story about Guido going back in a time machine to implement them ;-)

Just wanted to check that I had understood what you suggested correctly

On 9 April 2018 at 12:42, Andrés Delfino <adelfino@gmail.com> wrote:
Sorry, I didn't know that kwargs unpacking in dictionaries displays don't raise a TypeError exception.

On Mon, Apr 9, 2018 at 8:23 AM, Daniel Moisset <dmoisset@machinalis.com> wrote:
In which way would this be different to {**mapping1, **mapping2, **mapping3} ?

On 8 April 2018 at 22:18, Andrés Delfino <adelfino@gmail.com> wrote:
Hi!

I thought that maybe dict could accept several mappings as positional arguments, like this:

class Dict4(dict):
    def __init__(self, *args, **kwargs):
        if len(args) > 1:
            if not all([isinstance(arg, dict) for arg in args]):
                raise TypeError('Dict4 expected instances of dict since multiple positional arguments were passed')

            temp = args[0].copy()

            for arg in args[1:]:
                temp.update(arg)

            super().__init__(temp, **kwargs)
        else:
            super().__init__(*args, **kwargs)

AFAIK, this wouldn't create compatibility problems, since you can't pass two positional arguments now anyways.

It would be useful to solve the "sum/union dicts" discussion, for example: requests.get(url, params=dict(params, {'foo': bar})

Whar are your thoughts?

_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/




--
Daniel F. Moisset - UK Country Manager - Machinalis Limited
Skype: @dmoisset T: + 44 7398 827139

1 Fore St, London, EC2Y 9DT

Machinalis Limited is a company registered in England and Wales. Registered number: 10574987.





--
Daniel F. Moisset - UK Country Manager - Machinalis Limited
Skype: @dmoisset T: + 44 7398 827139

1 Fore St, London, EC2Y 9DT

Machinalis Limited is a company registered in England and Wales. Registered number: 10574987.