私はタプルのセットを持っています。各タプルは3つのデータ値を持っています。私が取り組んでいる問題では、各タプルに4つのデータ値をエンコードする必要がありますが、4つ目の値はタプルの等価性を決定する際に考慮されるべきではありません。より正式に、Python - タプルに「隠された」値を追加する
tuple1 = ('a', 'b', 'c', 'd')
tuple2 = ('a', 'b', 'c', 'f')
tuple1 == tuple2 # Should be true
tuple1
をセットにした場合はさらに、tuple2
はそれに追加することはできませんが、タプルの等価性がに影響されないよう、この「隠れた」値を実施するための最良の方法は何
を設定しましたそれ?
タプルを囲むクラスを作成し、equal()およびhash()関数をオーバーライドして、最後の要素がその側面では無関係であると考えました。しかし、私が取り組んでいる問題は計算集約的なので、この機能を実装するより速い方法があるのだろうかと思っていました。
ご存知の方は、ぜひご連絡ください。ありがとうございました。
私が知っている限り、組み込みの機能はありません。 –
あなたは自分のクラスを書く必要があると思います。私はまた、これができる他の方法があるかどうかを知りたいと思っています。 – shuttle87
データ型に組み込まれているこの等価機能が必要です。そうでなければ、セットとハッシュテーブルでは使用できません。 – Naldhelaan