Gabriel G <[EMAIL PROTECTED]> writes: > At Tuesday 3/10/2006 21:52, Ben Finney wrote: > > >Gerrit Holl <[EMAIL PROTECTED]> writes: > > > - str methods endswith, find, partition, replace, split(lines), > > > startswith, > > > - Regular expressions > > > >Looking at those, I don't see why they wouldn't be useful for *all* > >sequence types. Perhaps there needs to be a 'seq' type containing > >those common methods, that is the superclass of 'str', 'bytes', > >'list', 'tuple' et cetera. > > find() could be useful sometimes. > But what means partition, replace, split, etc on a generic sequence?
>>> "spamandeggs".partition("and") ('spam', 'and', 'eggs') >>> ["foo", "bar", "spam", "baz", "quux", "wibble"].partition("spam") (["foo", "bar"], ["spam"], ["baz", "quux", "wibble"]) >>> "spamandeggs".startswith("spam") True >>> ["foo", "bar", "spam", "baz", "quux", "wibble"].startswith("foo") True i.e. the 'str' methods can be seen as operating on a sequence of characters; their 'str' return values are likewise sequences of characters. That can be generalised to a sequence of the same type as the instance; so, in the examples above, the 'list' methods operate on sub-lists. Perhaps not all of the mentioned methods make sense for all sequence types. But I think it would be useful to have a common set of functionality available for all sequence types, in a common ancestor. -- \ "He may look like an idiot and talk like an idiot but don't let | `\ that fool you. He really is an idiot." -- Groucho Marx | _o__) | Ben Finney -- http://mail.python.org/mailman/listinfo/python-list