問題タブ [dictionary]

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 投票する
8 に答える
1735 参照

python - 2 つのリストを 1 つの辞書リストにマップする

これらのpythonリストがあると想像してください:

次の辞書のリストを作成する直接的または少なくとも簡単な方法はありますか?

0 投票する
4 に答える
7007 参照

c# - C# 辞書 ValueOrNull / ValueorDefault

現在、私は使用しています

存在しないキーに対して辞書[キー]がnullを返すようにする方法が欲しいので、次のように書くことができます

これは linq クエリなどの一部にもなるので、1 行のソリューションをお勧めします。

0 投票する
14 に答える
19529 参照

c++ - キー タイプ std::string を使用したマップ ルックアップのパフォーマンスを向上させるにはどうすればよいですか?

(VC++ 実装)を使用してstd::mapいますが、マップの find メソッドを介したルックアップが少し遅くなります。

キーの種類はstd::string.

std::mapマップのカスタム キー比較オーバーライドを使用して、このルックアップのパフォーマンスを向上させることはできますか? たとえば、 < 比較は、データを比較する前にstd::string単純な比較を考慮していないのでしょうか?string::size()

比較をスピードアップするための他のアイデアはありますか?

私の状況では、マップには常に 15 未満の要素が含まれますが、ノンストップでクエリが実行されており、パフォーマンスが重要です。たぶん、私が使用できるより高速なデータ構造がありますか?

更新: マップにはファイル パスが含まれています。

Update2: マップの要素は頻繁に変更されます。

0 投票する
9 に答える
567 参照

mysql - ファイルシステムVSRDMBS(MySQL)を使用した同時実行処理

私は、ユーザーが単語を入力して定義を取得できる英語のWeb辞書を作成しています。私はしばらくこれについて考えましたが、データは100%静的であり、一度に1つの単語しか取得できなかったため、MySQLを使用して定義を格納するのではなく、データベースシステムとしてファイルシステム(ext3)を使用する方が適切でした。MySQLに接続する必要があり、それ自体が非常に遅い操作であることを考えると、オーバーヘッドが少なくなると思いました。

私の恐れは、もし私のシステムが例えば500ワード/秒の検索で攻撃されたとしても、データベースとしてファイルシステムを使用したほうがよいのではないかということです。または、MySQLが内部で行っている可能性があることとは対照的に、ファイルシステムの読み取りが増えるとパフォーマンスが低下しますか?

現在、階層は単語の最初の文字、2番目の文字、3番目の文字で分割されています。したがって、「水」の定義を検索する場合、スクリプト(PHP)は「../dict/w/a/t/water.word」から読み取ろうとします(問題のある文字の単語をクリーンアップした後、小文字)

私はこれで正しい方向に向かっていますか、それともより速い解決策がありますか(memcachedのようなものを使用してメモリに定義を保存することを数えません)?ディレクトリに保存されるファイルの量はパフォーマンスに影響しますか?ディレクトリに保存する必要のあるファイル数の大まかなベンチマークは何ですか?

0 投票する
5 に答える
3469 参照

.net - ディクショナリ(.NETジェネリックデータ構造)を反復処理すると、追加したのと同じ順序になりますか?

私は通常キーを使ってアクセスする辞書を持っているので、高速のランダムアクセス読み取りが必要です。ただし、1つの関数では、順序が重要な辞書内のすべての項目を処理する必要があります。テストでは問題なく動作しているようです。辞書の項目の順序に依存しても大丈夫ですか?

0 投票する
5 に答える
1095 参照

dictionary - スペル チェックに使用する辞書ファイルはどこで入手できますか?

これは以前に尋ねられたと思っていましたが、Google で 15 分間検索しても、サイト検索でも何も表示されませんでした。

無料の (ビールやスピーチのような) 辞書ファイルはどこで入手できますか? 私は主に英語に興味がありますが、何か辞書ファイルをご存知でしたら教えてください。

注: この質問には正解/不正解がないので、コミュニティ ウィキにしました。しかし、私自身だけでなく、さまざまな辞書ファイルでスペル チェッカーを実装または使用したい人にとっては価値があると思います。

0 投票する
19 に答える
8070 参照

python - 正規表現によるハッシュテーブル/辞書/マップ検索

キーが正規表現であり、文字列が辞書に対して検索される辞書(またはハッシュ、マップ、またはお気に入りの言語がそれを呼び出すもの)で検索を実行するための合理的に効率的な方法があるかどうかを把握しようとしていますキーのセット。例 (Python 構文):

(明らかに、上記の例は Python で書かれたとおりには機能しませんが、それは私ができるようにしたいことです。)

これを実装する単純な方法を考えることができます。この方法では、辞書内のすべてのキーを反復処理し、渡された文字列をそれらに対して照合しようとしますが、ハッシュ マップの O(1) ルックアップ時間を失い、代わりに O(n) を使用します。ここで、n は辞書内のキーの数です。このディクショナリは非常に大きくなると予想されるため、これは大きな問題になる可能性があり、何度も何度も検索する必要があります (実際には、テキスト ファイルで読み取るすべての行に対して反復処理を行う必要があり、ファイルのサイズは数百メガバイトになる場合があります)。

O(n) 効率に頼らずにこれを達成する方法はありますか?

あるいは、データベースでこの種のルックアップを実行する方法を知っていれば、それも素晴らしいでしょう。

(どのプログラミング言語でも問題ありません。私は Python を使用していますが、ここでのデータ構造とアルゴリズムにもっと興味があります。)

複数の一致が可能であると誰かが指摘しましたが、それは完全に正しいです。理想的には、この状況では、すべての一致を含むリストまたはタプルを返したいと思います。しかし、私は最初の試合に落ち着くでしょう。

そのシナリオでは O(1) が可能であるとは思えません。ただし、O(n) 未満のもので解決します。また、基礎となるデータ構造は何でもかまいませんが、私が望む基本的な動作は、上で書いたものです: 文字列を検索し、正規表現キーに一致する値を返します。

0 投票する
5 に答える
23197 参照

python - タプルのリストを辞書に変換する

次のようなタプルのリストがあります。

最初のアイテムでこのキーイングを反復したいので、たとえば、次のように出力できます。

最初のアイテムがタプルをループするのと同じかどうかを追跡するためにアイテムを保持せずに、どうすればこれを行うことができますか? これはかなり面倒です(さらに、最初にリストをソートする必要があります)...

0 投票する
3 に答える
12163 参照

c# - C#: どうすれば辞書を作成できますか?ICollection を実装する> Add(KeyValuePair を持たない場合)?

を見るとSystem.Collections.Generic.Dictionary<TKey, TValue>、明らかに を実装していますが、必要な " " 機能ICollection<KeyValuePair<TKey, TValue>>がありません。void Add(KeyValuePair<TKey, TValue> item)

Dictionaryこれは、次のように初期化しようとしたときにも見られます。

失敗する

メソッド 'Add' のオーバーロードは '1' 引数を取らない

どうしてこんなことに?

0 投票する
11 に答える
135820 参照

c# - C# で定数辞書を作成する

s からs への定数(実行時に変更されない) マッピングを作成する最も効率的な方法は何ですか?stringint

const Dictionaryを使用してみましたが、うまくいきませんでした。

適切なセマンティクスを使用して不変のラッパーを実装できますが、それでも完全には正しくないようです。


質問された方のために、私は生成されたクラスにIDataErrorInfoを実装しており、columnName を記述子の配列にルックアップする方法を探しています。

スイッチが文字列を受け入れることを知らなかった (テスト時のタイプミス! ああ!) ため、それを使用します。ありがとう!