> Apparently a[0]=b[0] does not qualify as "symbolic assignment" in this case. > a[0] is not a reference to b[0]. I think I see the essential distinction. > Experience will complete the picture for me.
Yes. The distinction is something that is blurred by Python's syntax. The "=" is a conceptually different thing, based on what's on the "left hand side" of the "=". It can means "variable binding" or "structure mutation", and those concepts are similar, but not the same thing. And variable binding itself can even have a slightly different meaning, depending on whether the surrounding context is a function definition or not, establishing a local or global variable binding. Whew! Assignment can be tricky. It's at the heart of one of the things that makes programming "hard": it is very much about change, about dynamics, about having to reason what the world looks like "before" and "after" a change. (And hence why some customized programming languages for beginners outright prohibit the assignment operator.) _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor