Python 3 より前は、ユーザー定義オブジェクトをリストに挿入するために bisect を使用していました。__cmp__
私のユーザー定義オブジェクトには、オブジェクトを比較する方法を定義する定義があったため、bisect はこれに満足していました。Python 3 で cmp をサポートしない理由を読みましたが、それで問題ありません。古いコードの修正は、ユーザー定義オブジェクトをタプルに変換して「装飾」することだと思いました
(integer, user-defined object).
ただし、タプルのリストがあり、試してみると...
i = bisect_left([list_of_tuples], (integer, user-defined object))
次に、「builtins.TypeError: unorderable types ...」というエラーが表示されます
では、(python 3 で)自然な並べ替え順序で完全に構成されていないアイテムのリストに bisect を使用するにはどうすればよいですか?