Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> The values in tuples cannot change. The values that keys point to in a frozen dict can?

The entries of a tuple cannot be assigned to, but the values can be mutated. The same is true for a `frozendict` (according to the PEP they don't support `__setitem__`, but "values can be mutable").





Tuple entries must be hashable, which (as far as standard library is concerned) means immutable.

  >>> hash([1, 2])
  TypeError: unhashable type: 'list'

  >>> t = ([1, 2], [3, 4])
  >>> print(t)
  ([1, 2], [3, 4])

Ah. Of course… that’s how the workaround to use tuples as frozen dicts can work in the first place. Slow morning for me!



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: