Hello Chris, On Sat, Nov 21, 2015 at 02:06:11AM +1100, Chris Angelico wrote: > On Sat, Nov 21, 2015 at 1:52 AM, Ervin Hegedüs <airw...@gmail.com> wrote: > > Python has a good string formatter, eg. I can do this: > > > > s = "{who} likes {what}" > > d = {'who': "Adam", 'what': "ants"} > > s.format(**d)
... > > But is there any other (direct) way, which keywords exists in > > string? > > I think what you're asking for can be done using format_map with a > custom mapping object: > > >>> class IdentiMap: > ... def __init__(self): > ... self.keys = [] > ... def __getitem__(self, key): > ... self.keys.append(key) > ... > >>> m = IdentiMap() > >>> "{who} likes {what}".format_map(m) > 'None likes None' > >>> m.keys > ['who', 'what'] > > Does that help? absolutely, many thanks again! a. -- https://mail.python.org/mailman/listinfo/python-list