On Python-list Steve started a thread, "List replication operator" (https://mail.python.org/pipermail/python-list/2018-May/733513.html) and wrote the following:
<quote> Python has a sequence replication operator: py> [1, 2]*3 [1, 2, 1, 2, 1, 2] Unfortunately, it is prone to a common "gotcha": py> x = [[]]*5 # make a multi-dimensional list py> x [[], [], [], [], []] py> x[0].append(1) py> x [[1], [1], [1], [1], [1]] The reason for this behaviour is that * does not copy the original list's items, it simply replicates the references to the items. So we end up with a new list containing five references to the same inner list. </quote> I am having trouble correlating the behavior of the one-dimensional case with the two-dimensional case. The result of [1, 2]*3 seems to be an actual list, not a replication of the references to the items in the original list, [1, 2]. Or if it is, then I do not know how to demonstrate it. Also the "replication operator" does not seem to be replicating anything list-wise if it is instead replicating references to the original list's members. I request explanation/clarification please. -- boB _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor