он не работает одинаково в Jython ...
>>> id({})
1
>>> id([])
2
Может ли быть оптимизация, когда обычно используемые (т.е. пустые) контейнеры «интернированы», чтобы сэкономить на расходах на размещение ?
Это (в CPython) не предполагает:
>>> def mutateid(obj):
... obj.append('x')
... print obj
... print id(obj)
...
>>> mutateid([])
['x']
4299590472
>>> id([])
4299590472
>>>