On Mar 17, 12:28 pm, [EMAIL PROTECTED] wrote: > > Why is the immutable form the default? > > Using a house definition from some weeks ago, a tuple is a data > structure such which cannot contain a refrence to itself. Can a > single expression refer to itself ever?
Can't imagine why that feature was highlighted in particular, but a list can reference itself even though an expression can't. The following example looks a bit self-referential, but isn't... a = 2 a = [1, a, 3] # result [1, 2, 3] The following additional line, however does create a self-referencing list... a [1] = a The result being [1, [...], 2] It's nice to see that Python can handle the output for this without going into an infinite recursion - which is exactly what it used to do in the distant past. A tuple cannot be made to reference itself because it cannot be modified after creation. The key point is that lists are mutable, whereas tuples are not. -- http://mail.python.org/mailman/listinfo/python-list