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

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

19
ConcurrentHashMapとCollections.synchronizedMap(Map)の違いは何ですか?
複数のスレッドによって同時に変更されるマップがあります。 Java APIには、3つの異なる同期Map実装があるようです。 Hashtable Collections.synchronizedMap(Map) ConcurrentHashMap 私が理解していることから、インターフェースに合うように後で適応されHashtableた古い実装(廃止されたDictionaryクラスを拡張)Mapです。それは一方でされた同期、深刻な持っているようだスケーラビリティの問題を、新たなプロジェクトのために推奨されません。 しかし、他の2つはどうですか?返された地図との違いは何ですCollections.synchronizedMap(Map)とConcurrentHashMapSは?どちらがどの状況に適していますか?

11
JavaScriptで連想配列/ハッシュを行う方法
JavaScriptを使用して、C#で行うような方法で統計を保存する必要があります。 Dictionary<string, int> statistics; statistics["Foo"] = 10; statistics["Goo"] = statistics["Goo"] + 1; statistics.Add("Zoo", 1); JavaScriptのHashtableようなものはありDictionary<TKey, TValue>ますか? どうすればこのような方法で値を格納できますか?


30
ネストされたPython dictをオブジェクトに変換しますか?
私はいくつかのネストされたdictとリスト(つまり、javascriptスタイルのオブジェクト構文)を持つdictの属性アクセスを使用してデータを取得するエレガントな方法を探しています。 例えば: >>> d = {'a': 1, 'b': {'c': 2}, 'd': ["hi", {'foo': "bar"}]} この方法でアクセスできる必要があります: >>> x = dict2obj(d) >>> x.a 1 >>> x.b.c 2 >>> x.d[1].foo bar これは再帰なしでは不可能だと思いますが、dictsのオブジェクトスタイルを取得する良い方法は何でしょうか。

15
collections.defaultdictはどのように機能しますか?
私はpythonのドキュメントで例を読みましたが、それでもこのメソッドの意味を理解できません。誰か助けてもらえますか?python docsの2つの例を示します >>> from collections import defaultdict >>> s = 'mississippi' >>> d = defaultdict(int) >>> for k in s: ... d[k] += 1 ... >>> d.items() [('i', 4), ('p', 2), ('s', 4), ('m', 1)] そして >>> s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)] >>> …

6
C#辞書を値で初期化する適切な方法?
次のコードでC#ファイルに辞書を作成しています。 private readonly Dictionary<string, XlFileFormat> FILE_TYPE_DICT = new Dictionary<string, XlFileFormat> { {"csv", XlFileFormat.xlCSV}, {"html", XlFileFormat.xlHtml} }; newエラーの下に赤い線があります: 機能「コレクション初期化子」はISO-2 C#言語仕様の一部ではないため使用できません 誰かがここで何が起こっているのか説明できますか? 編集:大丈夫、それで私は.NETバージョン2を使用していたことがわかりました
513 c#  dictionary 



26
C#での辞書のマージ
Dictionary<T1,T2>C#で2つ以上の辞書()をマージする最良の方法は何ですか?(LINQのような3.0の機能は問題ありません)。 私は次のようにメソッド署名を考えています: public static Dictionary<TKey,TValue> Merge<TKey,TValue>(Dictionary<TKey,TValue>[] dictionaries); または public static Dictionary<TKey,TValue> Merge<TKey,TValue>(IEnumerable<Dictionary<TKey,TValue>> dictionaries); 編集: JaredParとJon Skeetからクールなソリューションを入手しましたが、私は重複するキーを処理するものを考えていました。衝突が発生した場合、一貫性が保たれている限り、dictにどの値が保存されていてもかまいません。
493 c#  dictionary  merge 

11
辞書キーが利用できない場合はNoneを返します
そのキーが存在する場合にディクショナリ値を取得する方法、または単に返す方法が必要です Noneしない場合はです。 ただし、KeyError存在しないキーを検索すると、Pythonでは例外が発生します。キーを確認できることはわかっていますが、もっと明確なものを探しています。Noneキーが存在しない場合に戻る方法はありますか?

17
2つのdictを組み合わせるためのpythonicの方法はありますか(両方に現れるキーの値を追加します)?
たとえば、私は2つの辞書を持っています: Dict A: {'a': 1, 'b': 2, 'c': 3} Dict B: {'b': 3, 'c': 4, 'd': 5} 結果が次のようになるように2つのdictを「組み合わせる」ためのpython的な方法が必要です: {'a': 1, 'b': 5, 'c': 7, 'd': 5} つまり、キーが両方の辞書に表示される場合は、それらの値を追加します。一方の辞書にのみ表示される場合は、その値を保持します。
477 python  dictionary 

4
辞書はPython 3.6以降で注文されますか?
辞書は、以前のインカネーションとは異なり、Python 3.6(少なくともCPython実装の下)で注文されます。これは大幅な変更のようですが、ドキュメントの短い段落にすぎません。これは、言語機能ではなくCPython実装の詳細として記述されていますが、将来的には標準になる可能性があることも意味しています。 要素の順序を維持しながら、新しい辞書の実装は以前の辞書の実装よりもどのように優れていますか? ドキュメントからのテキストは次のとおりです。 dict()PyPyが開発した「コンパクト」表現を使用するようになりました。新しいdict()のメモリ使用量は、Python 3.5と比較して20%から25%小さくなっています。これにより、PEP 468(関数内の** kwargsの順序を維持する)が実装されます。この新しい実装の順序を維持する側面は、実装の詳細と見なされ、信頼すべきではありません(これは将来変更される可能性がありますが、言語仕様を変更する前に、この新しいdict実装をいくつかのリリースで使用することが望ましいです)現在および将来のすべてのPython実装に順序を維持するセマンティクスを義務付けるために、これは、ランダムな反復順序がまだ有効である古いバージョンの言語(Python 3.5など)との下位互換性を維持するのにも役立ちます。(稲田直樹による寄稿問題27350。レイモンドヘッティンガーが最初に提案したアイデア。) 2017年12月の更新:Python 3.7では、dict挿入順序の保持が保証されています

7
Pythonは辞書の「拡張」
辞書を別の辞書で拡張する最良の方法はどれですか?例えば: >>> a = { "a" : 1, "b" : 2 } >>> b = { "c" : 3, "d" : 4 } >>> a {'a': 1, 'b': 2} >>> b {'c': 3, 'd': 4} 私はこの回避forループを取得するための操作を探しています: { "a" : 1, "b" : 2, "c" : 3, "d" : 4 } …
463 python  dictionary 

9
Mapを実装し、挿入順序を維持するJavaクラス?
キーと値の関連付けがあるが、ハッシュを使用しないJavaのクラスを探しています。これが私が現在やっていることです: に値を追加しますHashtable。 のイテレータを取得しますHashtable.entrySet()。 すべての値を反復処理し、 Map.Entryイテレータのを取得します。 Module値に基づいてタイプのオブジェクト(カスタムクラス)を作成します。 クラスをJPanelに追加します。 パネルを表示します。 これの問題は、値を取得する順序を制御できないため、特定の順序で値を表示できないことです(順序をハードコーディングしないと)。 私はこれにArrayListor Vectorを使用しますが、コードの後半で、Module指定されたKeyのオブジェクトを取得する必要があります。これはArrayListorで行うことはできませんVector。 これを行うフリー/オープンソースのJavaクラス、またはHashtable追加されたときに基づいてから値を取得する方法を知っている人はいますか? ありがとう!


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