Zahari Dim <> added the comment:

I believe an argument for including this functionality in the standard library
is that it facilitates writing better error messages and thus better code. Some
results that are returned when one searches for *python ChainMap* are:

  - <>

All of these mention prominently a layered configuration of some kind. I would
argue that all of the examples would benefit from error checking done along the
lines of the snippet above.

An additional consideration is that the method is best implemented by copying
the `__getitem__` method, which, while short, contains a couple of non trivial

One analog could be ``, which returns an object with information of
both the value that is found and its location, though the `span` attribute of
the Match object. Maybe the method could be called
On Thu, Sep 6, 2018 at 6:07 AM Raymond Hettinger <> wrote:
> Raymond Hettinger <> added the comment:
> I haven't run across this requirement before but it does seem plausible that 
> a person might want to know which underlying mapping found a match (compare 
> with the "which" utility in Bash). On the other hand, we haven't had requests 
> for anything like this for other lookup chains such as determining where a 
> variable appears in the sequence 
> locals-to-nested-scopes-to-globals-to-builtins.
> Also, I'm not sure I like the proposed API (the method name and signature).  
> Perhaps, this should be a docs recipe for a ChainMap subclass or be an 
> example of a standalone search function that the takes the *maps* attribute 
> as one of its arguments.  Will discuss this with the other core devs to get 
> their thoughts.
> ----------
> _______________________________________
> Python tracker <>
> <>
> _______________________________________


Python tracker <>
Python-bugs-list mailing list

Reply via email to