Fredrik Lundh wrote: > Talin wrote: > >> Maybe instead of considering a match object to be a sequence, a match >> object should be considered a map? > > sure, except for one small thing. from earlier in this thread: > > > Ka-Ping Yee wrote: > > > >> I'd say, don't pretend m is a sequence. Pretend it's a mapping. > >> Then the conceptual issues go away. > > to which I replied: > > > almost; that would mean returning KeyError instead of IndexError for > > groups that don't exist, which means that the common pattern > > > > a, b, c = m.groups() > > > > cannot be rewritten as > > > > _, a, b, c = m > > > > which would, perhaps, be a bit unfortunate. I think the confusion lies between the difference between 'group' (which takes either an integer or string argument, and behaves like a map), and 'groups' (which returns a tuple of the numbered arguments, and behaves like a sequence.) The original proposal was to make m[n] a synonym for m.group(n). "group()" is clearly map-like in its behavior. It seems to me that there's exactly three choices: -- Match objects behave like 'group' -- Match objects behave like 'groups' -- Match objects behave like 'group' some of the time, and like 'groups' some of the time, depending on how you refer to it. In case 1, a match object is clearly a map; In case 2, it's clearly a sequence; In case 3, it's neither, and all talk of consistency with either map or sequence is irrelevant. -- Talin
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4