On Aug 28, 2007, at 5:12 PM, Chris Mellon wrote: > On 8/28/07, Stefan Niemann <[EMAIL PROTECTED]> wrote: >> Hi, >> >> sorry that I'm relatively new to Python. But the syntax and >> semantics of >> Python already fascinate me, because I'm familiar with functional >> languages >> like Haskell. >> >> Is there a pattern matching construct in Python like (head : >> tail), meaning >> 'head' matches the first element of a list and 'tail' matches the >> rest? I >> could not find this in the Python documentation. >> >> Regards, >> Stefan >> >> > > Python does not have haskell like pattern matching. Things are written > and done in a different way. > > When working with lists, Python has a slice syntax (which is rather > more powerful than Haskells limited head->tail linked list syntax) > that you can use to chop a sequence up into various parts.
That is extremely arguable (in fact, Haskell's list semantics are extremely powerful as they are not limited to just head/tail). But, rather than debate the merits of one language over the other, to the OP: no, Python doesn't have any pattern matching facilities. Binding statements must be explicit, so you could do something along the lines of (using parallel assignment): head, tail = l[0], l[1:] or, front, last = l[:len(l) - 1], l[len(l) - 1] Erik Jones Software Developer | Emma® [EMAIL PROTECTED] 800.595.4401 or 615.292.5888 615.292.0777 (fax) Emma helps organizations everywhere communicate & market in style. Visit us online at http://www.myemma.com -- http://mail.python.org/mailman/listinfo/python-list