Remix.run Logo
pansa2 2 days ago

> 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").

vscode-rest 2 days ago | parent [-]

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

pansa2 2 days ago | parent [-]

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

  >>> t = ([1, 2], [3, 4])
  >>> print(t)
  ([1, 2], [3, 4])
vscode-rest 2 days ago | parent [-]

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