SortedListWithKey может отсортировать список с помощью лямбда-функции:
from sortedcontainers import SortedListWithKey
SortedListWithKey([[4, 'last'], [1, 'first']], key=lambda x: x[0])
# Result: SortedListWithKey([[1, 'first'], [4, 'last']], key=<function <lambda> at 0x107f5d730>)
Но, скажем, мне нужно использовать set () , чтобы иметь только уникальные значения, в документации сказано, что он также принимает параметр key = для сортировки пользовательской функцией, но я не могу заставить ее работать:
from sortedcontainers import SortedSet
SortedSet([[4, 'last'], [1, 'first']], key=lambda x: x[0])
сгенерирует следующее исключение:
values = set(chain(*iterables))
TypeError: unhashable type: 'list'
Есть ли способ достичь этого?