Alastair Houghton wrote: > (The current groups() method *doesn't* match those expectations, > incidentally. I know I've been tripped up in the past because it > didn't include the full match as element 0.)
that's because there is no "group 0" in a regular expression; that's just a historical API convenience thing. groups are numbered from 1 and upwards, and "groups()" returns all the actual groups. > What's more, I think it will be confusing for Python newbies because > they'll see someone doing > > m[3] > > and assume that m is a list-like object, then complain when things like > > for match in m: > print match that'll work, of course, which might be confusing for people who think they understand how for-in works but don't ;) > or > > m[3:4] > > fail to do what they expect. the problem with slicing is that people may 1) expect a slice to return a new object *of the same type* (which opens up a *gigantic* can of worms, both on the implementation level and on the wtf-is-this-thing- really level), and 2) expect things like [::-1] to work, which opens up another can of worms. I prefer the "If the implementation is easy to explain, it may be a good idea." design principle over "can of worms" design principle. </F> _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com