On Sat, May 5, 2018 at 1:17 AM, Ian Kelly <ian.g.ke...@gmail.com> wrote: > On Fri, May 4, 2018 at 7:01 AM, Steven D'Aprano > <steve+comp.lang.pyt...@pearwood.info> wrote: >> Here are the specifications: >> >> * you must use lambda, not def; > > Why? This seems like an arbitrary constraint. > > def itemgetter2(*items, default): > return lambda seq: tuple(get_default(seq, item, default) for item in > items) > > def get_default(seq, item, default): > try: > return seq[item] > except (IndexError, KeyError): > return default > > py> f = itemgetter2(1, 6, default="spam") > py> f("Hello World!") > ('e', 'W') > py> f("Hello!") > ('e', 'spam')
PEP 463 wants to say hello. ChrisA -- https://mail.python.org/mailman/listinfo/python-list