Перед python 3 я использовал bisect для вставки определяемых пользователем объектов в список. bisect был доволен этим, потому что у моего определяемого пользователем объекта был def __cmp__
, который определял, как сравнивать объекты. Я прочитал обоснование не поддерживать cmp в python 3, и я в порядке с этим. Я думал, что исправление для моего старого кода будет «украшать» свой определенный пользователем объект, превращая его в кортежbisect и списки объектов, определенных пользователем (python 3)
(integer, user-defined object).
Однако, если у меня есть список моих кортежей, и попробовать ...
i = bisect_left([list_of_tuples], (integer, user-defined object))
тогда я получаю ошибку «builtins.TypeError: unorderable типов ...»
Итак, (в Python 3) как я использую разрез`ать для списков элементов, которые не сделаны полностью из вещей с естественный порядок сортировки?
doh! Я уже думал об этом ... – Mike
P.S. Я думаю, вы можете отметить это как ответ на вопрос, который дает мне репутацию и, по-видимому, заставляет людей больше отвечать на ваши будущие вопросы. – novalis