"Stefan Niemann" <[EMAIL PROTECTED]> writes: > 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.
Python's lists are actually linear arrays. You can subscript them, i.e. x[0] is the first element, and slice them, i.e. x[1:] is all elements after the first. Note that x[1:] actually makes a new array and copies all the elements of x. Normally in Python one writes iterative loops rather than recursing or folding over a list: for a in x: print a so slicing isn't that common. Python also has something called generators which are sort of like Haskell's lazy-evaluation lists. They often make it possible to program in a Haskell-like style. Note however that they are mutable objects, i.e. using g.next() to get the next element of a generator actually updates the generator's internal state. This can lead to a bunch of subtle pitfalls if you're not careful, but overall they are a very useful feature. -- http://mail.python.org/mailman/listinfo/python-list