Chris Angelico wrote at 2021-6-15 19:08 +1000: >On Tue, Jun 15, 2021 at 6:32 PM Dieter Maurer <die...@handshake.de> wrote: >> >> Chris Angelico wrote at 2021-6-15 05:35 +1000: >> >On Tue, Jun 15, 2021 at 5:12 AM Jach Feng <jf...@ms4.hinet.net> wrote: >> >> >> >> >>> n = [(1,2) for i in range(3)] >> >> >>> n >> >> [(1, 2), (1, 2), (1, 2)] >> >> >>> id(n[0]) == id(n[1]) == id(n[2]) >> >> True >> > >> >This is three tuples. Tuples are immutable and you get three >> >references to the same thing. >> >> In addition: object identity (as revealed by `id(...)`) is >> an implementation detail. Do not rely on it! > >Hmm, not always. In this case, object identity isn't guaranteed - >every literal could give you a unique object - but in other cases, >object identity is a language guarantee. For instance:
As far as I know, there are no guarantees are the language level. There are some (partially documented) implementation details for CPython (which is just one possible implementation). -- https://mail.python.org/mailman/listinfo/python-list