On Sat, 1 Jun 2002, Guido van Rossum wrote: >> > > How does Python decide that sequence elements are immutable? >> > >> > Huh? It doesn't. If they were mutable, had you expected something >> > else? >> >> Actually, yes. I had expcected that Python would know it didn't need >> to "put the thing back in", since the thing gets modified in >> place. Knowing that it doesn't work that way clears up a lot. > >Still, I don't understand which other outcome than [1, 6, 5] you had >expected. Well, _I_ would have expected this to work: Python 2.1 (#4, Jun 6 2001, 08:54:49) [GCC 2.95.2 19991024 (release)] on linux2 Type "copyright", "credits" or "license" for more information. >>> x = ([],[],[]) >>> x[1] += [1] Traceback (most recent call last): File "<stdin>", line 1, in ? TypeError: object doesn't support item assignment Given that the object x[1] can be (and is) modified in place, I find this behaviour quite counter-intuitive, specially considering: >>> z = x[1] >>> z += [2] >>> x ([], [1, 2], []) /Paul
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4