a = b = random.random()
I would not expect a and b to get different values. It would be very strange if using `[]` had different behavior than a function call in the same place. Am I out of step here?The initial line is the same, but:
a = b = random.random()
a += 1
a == b # False
Only because floats are immutable and thus an implicit copy is made and lists are mutable so the same mutable instance is pointed to by both names.This talk still applies despite its age: https://youtu.be/_AEJHKGk9ns?si=q5HjMOM9QS3_bFzH
[1] https://www.latex-project.org/latex3/
[2] https://github.com/latex3/latex3
[3] http://tectonic-typesetting.github.io/
[4] https://github.com/tectonic-typesetting/tectonic/