タグ付けされた質問 「dictionary」

辞書はキーを値にマッピングし、キーから値を効率的に取得できるようにします。データに対する関数のマッピングに関する[map-function]タグを使用してください。地理については[maps]。

11
「RuntimeError:ディクショナリのサイズが反復中に変更されました」エラーを回避する方法
同じエラーで他のすべての質問を確認しましたが、役立つ解決策は見つかりませんでした= / リストの辞書があります: d = {'a': [1], 'b': [1, 2], 'c': [], 'd':[]} 一部の値は空です。これらのリストの作成の最後に、辞書を返す前にこれらの空のリストを削除したいと思います。現在私はこれを次のようにしようとしています: for i in d: if not d[i]: d.pop(i) ただし、これにより実行時エラーが発生します。辞書を反復処理している間は、辞書の要素を追加/削除できないことを知っています。その場合、これを回避する方法は何でしょうか?
258 python  list  dictionary  loops 

24
.NET辞書のキーが重複していますか?
.NET基本クラスライブラリに、重複するキーの使用を許可する辞書クラスはありますか?私が見つけた唯一の解決策は、たとえば、次のようなクラスを作成することです。 Dictionary<string, List<object>> しかし、これは実際に使用するのは非常にイライラします。Javaでは、MultiMapがこれを達成すると思いますが、.NETでアナログを見つけることができません。
256 c#  .net  dictionary  multimap 

12
迅速な辞書キーからの配列
辞書のキーの文字列を配列にすばやく入力しようとしています。 var componentArray: [String] let dict = NSDictionary(contentsOfFile: NSBundle.mainBundle().pathForResource("Components", ofType: "plist")!) componentArray = dict.allKeys これはエラーを返します: 'AnyObject'は文字列と同一ではありません また試しました componentArray = dict.allKeys as String しかし、「文字列」は[文字列]に変換できません
256 ios  arrays  xcode  dictionary  swift 

10
期限切れのキーを持つJava時間ベースのマップ/キャッシュ[終了]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 2年前休業。 この質問を改善する 特定のタイムアウト後にエントリを自動的にパージするJavaマップまたは同様の標準データストアを知っている人はいますか?これは、古い期限切れのエントリが自動的に「期限切れ」になるエージングを意味します。 Maven経由でアクセスできるオープンソースライブラリが望ましいですか? 私は自分で機能を実装する方法を知っており、過去に何度かそれを行ったので、その点でアドバイスを求めるのではなく、適切なリファレンス実装へのポインタを求めています。 WeakHashMapなどのWeakReferenceベースのソリューションはオプションではありません。キーがインターンされていない文字列である可能性が高く、ガベージコレクターに依存しない構成可能なタイムアウトが必要だからです。 Ehcacheも外部設定ファイルを必要とするため、信頼したくないオプションです。コードのみのソリューションを探しています。
253 java  caching  dictionary 

10
より効率的なものは何ですか:辞書TryGetValueまたはContainsKey + Item?
MSDNのDictionary.TryGetValueメソッドに関するエントリから: このメソッドは、ContainsKeyメソッドとItemプロパティの機能を組み合わせたものです。 キーが見つからない場合、valueパラメータは値タイプTValueの適切なデフォルト値を取得します。たとえば、整数型の場合は0(ゼロ)、ブール型の場合はfalse、参照型の場合はnullです。 コードが辞書にないキーに頻繁にアクセスする場合は、TryGetValueメソッドを使用します。このメソッドを使用すると、ItemプロパティによってスローされたKeyNotFoundExceptionをキャッチするよりも効率的です。 このメソッドはO(1)操作にアプローチします。 説明から、ContainsKeyを呼び出してルックアップを行うよりも効率的か便利かは明らかではありません。の実装は、TryGetValueContainsKeyを呼び出してからItemを呼び出すだけですか、それとも1回のルックアップを実行するだけで実装よりも効率的ですか? 言い換えれば、何がより効率的であるか(すなわち、どれがより少ないルックアップを実行するか): Dictionary<int,int> dict; //...// int ival; if(dict.ContainsKey(ikey)) { ival = dict[ikey]; } else { ival = default(int); } または Dictionary<int,int> dict; //...// int ival; dict.TryGetValue(ikey, out ival); 注:私はベンチマークを探していません!


6
辞書に値が存在するかどうかを確認する方法(Python)
私はPythonで次の辞書を持っています: d = {'1': 'one', '3': 'three', '2': 'two', '5': 'five', '4': 'four'} この辞書に「1」や「2」などの値が存在するかどうかを確認する方法が必要です。 たとえば、インデックス「1」が存在するかどうかを知りたい場合は、次のように入力するだけです。 "1" in d そして、それが真か偽かをPythonが教えてくれますが、値が存在するかどうかを見つけることを除いて、まったく同じことをする必要があります。
251 python  dictionary  find 

6
Typescriptで辞書を宣言して初期化する
次のコードを考える interface IPerson { firstName: string; lastName: string; } var persons: { [id: string]: IPerson; } = { "p1": { firstName: "F1", lastName: "L1" }, "p2": { firstName: "F2" } }; 初期化が拒否されないのはなぜですか?結局、2番目のオブジェクトには「lastName」プロパティがありません。

17
std :: mapからすべてのキー(または値)を取得してベクターに入れる方法は?
これは私が出てくる可能な方法の1つです。 struct RetrieveKey { template <typename T> typename T::first_type operator()(T keyValuePair) const { return keyValuePair.first; } }; map<int, int> m; vector<int> keys; // Retrieve all keys transform(m.begin(), m.end(), back_inserter(keys), RetrieveKey()); // Dump all keys copy(keys.begin(), keys.end(), ostream_iterator<int>(cout, "\n")); もちろん、別のファンクターRetrieveValuesを定義して、マップからすべての値を取得することもできます。 これを簡単に達成する他の方法はありますか?(なぜstd :: mapにそうするためのメンバー関数が含まれていないのか、いつも疑問に思っています。)
246 c++  dictionary  stl  stdmap 

25
2つの辞書を比較し、等しい(キー、値)ペアの数を確認する
私は2つの辞書を持っていますが、簡単にするために、次の2つを取り上げます。 >>> x = dict(a=1, b=2) >>> y = dict(a=2, b=2) 次に、の各key, valueペアxがで同じ対応する値を持っているかどうかを比較しyます。だから私はこれを書いた: >>> for x_values, y_values in zip(x.iteritems(), y.iteritems()): if x_values == y_values: print 'Ok', x_values, y_values else: print 'Not', x_values, y_values そして、それはa tupleが返され、次に等しいかどうか比較されるので機能します。 私の質問: これは正しいです?これを行うより良い方法はありますか?速度ではなく、コードの優雅さについて話しています。 更新:key, value等しいペアの数を確認する必要があることを言及するのを忘れていました。

3
汎用辞書の大文字と小文字を区別しないアクセス
マネージdllを使用するアプリケーションがあります。これらのdllの1つは、一般的な辞書を返します。 Dictionary<string, int> MyDictionary; 辞書には、大文字と小文字のキーが含まれています。 別の側では、潜在的なキー(文字列)のリストを取得していますが、ケースを保証できません。キーを使用して辞書の値を取得しようとしています。しかし、もちろん大文字と小文字が一致しないため、次のコードは失敗します。 bool Success = MyDictionary.TryGetValue( MyIndex, out TheValue ); MSDNドキュメントに記載されているように、TryGetValueに大文字と小文字を区別しないフラグがあることを期待していましたが、これは一般的な辞書には無効のようです。 重要なケースを無視してその辞書の値を取得する方法はありますか?適切なStringComparer.OrdinalIgnoreCaseパラメータを使用してディクショナリの新しいコピーを作成するよりも良い回避策はありますか?
244 c#  generics  dictionary 

7
Python辞書の値のマッピング
関数を渡して提供し{ k1: v1, k2: v2 ... }たい辞書{ k1: f(v1), k2: f(v2) ... }があるとしますf。 そのような組み込み関数はありますか?または私はしなければなりませんか dict([(k, f(v)) for (k, v) in my_dictionary.iteritems()]) 理想的には、 my_dictionary.map_values(f) または my_dictionary.mutate_values_with(f) つまり、元の辞書が変異しているか、コピーが作成されているかは、私には関係ありません。


5
dictをjsonファイルにダンプする方法は?
私はこのような口述を持っています: sample = {'ObjectInterpolator': 1629, 'PointInterpolator': 1675, 'RectangleInterpolator': 2042} json以下に示すように、dictをファイルにダンプする方法がわかりません。 { "name": "interpolator", "children": [ {"name": "ObjectInterpolator", "size": 1629}, {"name": "PointInterpolator", "size": 1675}, {"name": "RectangleInterpolator", "size": 2042} ] } これを行うためのPython的な方法はありますか? 私はd3ツリーマップを生成したいと思うかもしれません。
239 python  json  dictionary 

6
マップキーを配列に変換する方法は?
次のマップがあるとしましょう: let myMap = new Map().set('a', 1).set('b', 2); そして、上記に基づいて['a'、 'b']を取得したい。私の現在の解決策はとても長くて恐ろしいようです。 let myMap = new Map().set('a', 1).set('b', 2); let keys = []; for (let key of myMap) keys.push(key); console.log(keys); もっと良い方法があるに違いない?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.