問題タブ [hashable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
172 参照

swift - 私の Dictionary のカスタムハッシュ可能な構造体

辞書のキーに使用するハッシュ可能な値を作成したいと思います。これは、2 つの文字列と NSDate を持つ構造体で構成されている必要があります。hashValue以下でゲッターを正しく構築したかどうかわかりません。

0 投票する
1 に答える
404 参照

python - Python dict の __hash__ と __eq__ 評価の順序は何ですか?

キーを見つけるためにPython辞書が内部で何をしなければならないかを理解しようとしています。ハッシュが最初に評価され、衝突が発生した場合、Python はeqが Trueを返すキーが見つかるまでキーを反復処理するように思えます。なぜ次のコードが機能するのか疑問に思います (内部を理解するためだけにコードをテストします)。

ディクショナリは正しいキーを見つけることができません (内部実装に応じて、#2 と #4 の両方のケースで 'o1' または 'o2' を返すか、エラーをスローします)。キーを正しく「同等化」することはできません ( eqが False を返すため)。

ハッシュについて私が見たすべてのドキュメントでは、常にhasheqが一緒に言及されており、 cmpneなどは決して言及されていないため、このシナリオで役割を果たすのはこれら2つだけだと思います。

0 投票する
1 に答える
442 参照

python - Pythonで変更可能なハッシュ可能な組み込みオブジェクトはありますか?

hash() を使用して、オブジェクトが変更可能かどうかを確認できるかどうかに興味がありますか?

0 投票する
2 に答える
5145 参照

ios - オンまたはオフにできるハッシュ可能オブジェクトを表すプロトコルの作成

オブジェクトが「オン」状態か「オフ」状態かを示す簡単なプロトコルを作成しようとしています。それが何であるかの解釈は、実装するオブジェクトによって異なります。の場合UISwitch、それはスイッチがオンかオフかです (当然)。の場合UIButton、それはボタンがselected状態にあるかどうかである可能性があります。の場合Car、それは車のエンジンがオンになっているかどうか、または動いているかどうかである可能性があります。そこで、この単純なプロトコルの作成に着手しました。

これで、前述の UI コントロールを次のように拡張できます。

これで、これらの種類のオブジェクトの配列を作成し、それをループして、それらがオンかオフかを確認できます。

すごい!次に、これらのコントロールを にマップするディクショナリを作成してUILabel、コントロールの状態が変化したときにコントロールに関連付けられたラベルのテキストを変更できるようにします。だから私は自分の辞書を宣言します:

おー!右!愚かな私。それでは、プロトコル構成を使用してプロトコルを更新しましょう (結局のところ、ここで使用したいコントロールはすべて Hashable です: UISwitch、UIButton など):

しかし今、私は新しいエラーのセットを取得します:

わかりました...スタックオーバーフローの掘り出しと検索を行います。Set and protocols in SwiftUsing some protocol as a specific type conforming to another protocol is not supportedなど、有望と思われる多くの記事を見つけtype erasureました。 : http://krakendev.io/blog/generic-protocols-and-their-shortcomingshttp://robnapier.net/erasure、およびhttps://realm.io/news/type-erased-wrappers-in-迅速/ほんの数例を挙げると。

これは私が立ち往生するところです。私はこれらすべてを読んでみました。Hashableまた、プロトコルに準拠するクラスを作成しようとしましたOnOffRepresentableが、すべてを接続する方法がわかりません。

0 投票する
1 に答える
498 参照

swift - swift プロトコル Hashable における hashValue のパフォーマンスに関する考慮事項

一意の整数であることに加えて、に挿入できるhashValue迅速なタイプの選択に関するパフォーマンス上の考慮事項はありますか? たとえば、選択した整数値のサイズはバッキング配列のサイズに影響しますか? つまり、型に ofを割り当ててそれを a に挿入した場合、バッキング配列は少なくとも長さが必要ですか?HashableSethashValue4000HashableSet4000

0 投票する
2 に答える
34468 参照

python - Python:キーの値に基づいて辞書をスライスする方法は?

次のように構築された辞書があるとします。

d={0:1, 1:2, 2:3, 10:4, 11:5, 12:6, 100:7, 101:8, 102:9, 200:10, 201:11, 202:12}

そして、次のキーを含むような方法でd1スライスしてサブディクショナリを作成したいと思います: . 最終的な出力は次のようになります。dd10, 1, 2, 100, 101, 102

d1={0:1, 1:2, 2:3, 100:7, 101:8, 102:9}

私の実際の辞書には2,000,000を超えるアイテムが含まれているため、これを行う効率的なPythonicの方法はありますか?

この質問は、キーが整数である場合、スライスが特定の不等式ルールに従う必要がある場合、および最終結果が同じ辞書にまとめられたスライスの束である必要がある場合にすべて当てはまると思います。