私は(python 3.3で)作成しているプロジェクトを持っており、次のことを行うための効率的な(またはよりきれいな方法)があるかどうかを調べようとしています。
次のようなバイナリ/16 進文字列を抽出する関数があります (ビットのグループは、例としてのみ分割されています)
- 0000 1111 0002 0001
- 0000 1111 0003 0001
- 0000 1111 0002 0002
- 0000 1110 0002 0001
ここで、私がやりたいことは、これらを関数に渡し、2 番目のビット グループと 4 番目のビット グループ (オペコード) の値に応じてメソッドを起動できるようにすることです。(* 1111 * 0001) が一致するかどうかを確認し、これらのビットに関連する関数を返すハッシュ関数。
ハッシュ テーブルの辞書を使用するというアイデアはありましたが、キーをマスクにする方法がよくわかりません。
キー 11110001 と戻りたい関数の値で辞書を作成し、[4:8][12:16] を連結して渡すだけで機能するのですが、作成する方法があるかどうか疑問に思っていましたキーのハッシュ関数。(それが理にかなっている場合)クラスに入らず、ハッシュ関数をオーバーライドしてからそれを渡します。
おそらく、正規表現キーを格納し、有効な入力に対してそれを実行する何らかの形式のデータ構造でしょうか? - 作成することはできますが、何らかの組み込み関数が欠けているのではないかと考えています (車輪を再発明しないようにするためです)。
うまくいけば、これは理にかなっています!助けてくれてありがとう!