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
In which way would this be different to {**mapping1, **mapping2, **mapping3} ?
On 8 April 2018 at 22:18, Andrés Delfino
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 www.machinalis.co.uk http://www.machinalis.com Skype: @dmoisset T: + 44 7398 827139
1 Fore St, London, EC2Y 9DT https://maps.google.com/?q=1+Fore+St,+London,+EC2Y+9DT&entry=gmail&source=g
Machinalis Limited is a company registered in England and Wales. Registered number: 10574987.