On Saturday, April 13, 2019 at 9:03:54 AM UTC-4, Chris Angelico wrote: > > On Sat, Apr 13, 2019 at 11:00 PM Juancarlo Añez <apa...@gmail.com > <javascript:>> wrote: > > func(**{k:v for k, v in d.items() if k in ('a','b','c')) > > > > Would be really nice to be able to spell this as a dict/set intersection. > > func(**(d & {'a', 'b', 'c'})) > > ChrisA > _______________________________________________ > Python-ideas mailing list > python...@python.org <javascript:> > https://mail.python.org/mailman/listinfo/python-ideas > Code of Conduct: http://python.org/psf/codeofconduct/ > I like this idea. It accomplishes the goal of only using some of the keys and has broader applications for working with dicts in general.
It might also be nice to have something that splits a dict into two, like >>> items = dict(a=1, b=2, c=3) >>> included, excluded = items &- {'a', 'b'} >>> print(included) {'a': 1, 'b': 2} >>> print(excluded) {'c': 3} I don't know if I like the &- "operator" but it is illustrative.
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/