Assigning an unhashable data type to a key of RangeDict raises TypeError, as well (from the add-method).
y = RangeDict()
y[Range(0, 1)] = ["A", "B"]
Output:
----> 2 y[Range(0, 1)] = ["A", "B"]
~venv/lib/python3.6/site-packages/ranges/ranges.py in __setitem__(self, key, value)
1733
1734 def __setitem__(self, key, value):
-> 1735 self.add(key, value)
1736
1737 def __getitem__(self, item):
~venv/lib/python3.6/site-packages/ranges/ranges.py in add(self, rng, value)
1299 break
1300 # then, add it back in depending on whether it shares an existing value or not.
-> 1301 if value in self._values:
1302 # duplicate value. More than one range must map to it.
1303 existing_rangesets = self._values[value]
TypeError: unhashable type: 'list'
Not sure if that behaviour is intended, but using unhashable data types as values of
RangeDict
raisesTypeError
. Example:Output:
Assigning an unhashable data type to a key of
RangeDict
raisesTypeError
, as well (from theadd
-method).Output: