問題タブ [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 に答える
13981 参照

python - PythonでXMLを辞書として編集しますか?

Pythonのテンプレートxmlファイルからカスタマイズされたxmlファイルを生成しようとしています。

概念的には、テンプレートxmlを読み込み、いくつかの要素を削除し、いくつかのテキスト属性を変更して、新しいxmlをファイルに書き込みたいと思います。私はそれがこのように機能することを望みました:

ファイルに書き込みたいのですが、ElementTree.ElementTree.write()にアクセスする方法がわかりません。

これを行う方法はありますか、または誰かがこれを別の方法で行うことを提案できますか?

0 投票する
6 に答える
6206 参照

python - セットデータをPythonに保存する最良の方法は何ですか?

次の形式のデータのリストがあります。

[(id\__1_, description, id\_type), (id\__2_, description, id\_type), ... , (id\__n_, description, id\_type))

データは、同じグループに属するファイルからロードされます。各グループには、同じ ID が複数存在する可能性があり、それぞれが異なるファイルから取得されます。重複は気にしないので、これをすべて格納する良い方法は Set 型に入れることだと思いました。しかし、問題があります。

同じ ID でも、次のように説明が若干異なる場合があります。

IPI00110753

  • チューブリン α-1A チェーン
  • チューブリン α-1 鎖
  • αチューブリン1
  • α-チューブリン アイソタイプ M-α-1

(この例はuniprot タンパク質データベースから取得したことに注意してください。)

説明が異なっていても構いません。私が使用しているタンパク質データベースには、特定の識別子のリストが含まれていない可能性があるため、それらを捨てることはできません. これが発生した場合、人間が読める説明を生物学者に表示できるようにして、彼らが見ているタンパク質を大まかに知ることができるようにしたいと考えています.

現在、辞書型を使用してこの問題を解決しています。ただし、このソリューションは多くのメモリを使用するため、あまり好きではありません (これらの ID が多数あります)。これはそれらの中間のリストにすぎません。ID がデータベースに配置される前に、いくつかの追加処理が行われるため、データ構造を小さく保ちたいと考えています。

本当に2つの質問があります。まず、これには (辞書型よりも) Set 型を使用してメモリ フットプリントを小さくするか、またはリストに挿入するたびに ID が存在するかどうかを確認するソート済みリストを使用するか、または私が考えていなかった3番目の解決策は?第二に、セット型がより良い答えである場合、タプル全体ではなく最初の要素だけを見るようにキーを設定するにはどうすればよいですか?

私の質問を読んでくれてありがとう、
ティム

アップデート

私が受け取ったコメントのいくつかに基づいて、少し明確にさせてください。私がデータ構造で行うことのほとんどは、データ構造への挿入です。1 回は追加情報で注釈を付けるため、もう 1 回はデータベースに挿入するためです。ただし、データベースに挿入する前に追加の注釈が行われる場合があります。残念ながら、現時点でそれが起こるかどうかはわかりません。

現在、ハッシュテーブルに基づいていない構造(つまり、辞書)にこのデータを格納することを検討しています。私は新しい構造が挿入時にかなり迅速であることを望んでいますが、実際には2回しかやらないので、それを読むことは線形になる可能性があります. スペースを節約するために、ハッシュ テーブルから離れようとしています。より良い構造がありますか、それともハッシュテーブルはそれと同じくらい良いですか?

*情報は、uniprot を照会して取得した Swiss-Prot タンパク質識別子のリストです。

0 投票する
0 に答える
11558 参照

javascript - Javascript での適切な Hashtable 実装を推奨できる人はいますか?

連想配列を使用した jCache やその他の自家製メソッドを見つけました。jCache の使用経験がある場合、制限はありましたか?

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

c# - C#ディクショナリのアイテムのカーディナリティを変更する

私は辞書を持っています

私は辞書のすべてをステップスルーします、例えば

これは、fooが辞書に追加された順序で行われるため、最初に追加された項目が最初に返されるfooです。

たとえば、追加された3番目のfooが2番目に返されるfooになるように、カーディナリティを変更するにはどうすればよいですか?つまり、「インデックス」を変更したいのです。

0 投票する
16 に答える
20154 参照

list - Perl のマップのポイントは何ですか?

マップ機能のポイントを実際に取得していません。誰かがその使用例を説明できますか?

ループの代わりにこれを使用するとパフォーマンス上の利点はありますか、それとも単なる砂糖ですか?

0 投票する
31 に答える
2010814 参照

c# - 辞書を反復処理する方法は?

C#で辞書を反復処理するいくつかの異なる方法を見てきました。標準的な方法はありますか?

0 投票する
6 に答える
1047 参照

dictionary - 発音辞書

CMU発音辞書、商用またはオープンソースに代わるものはありますか?

0 投票する
24 に答える
254503 参照

c# - .NET 辞書でキーが重複していますか?

.NET 基本クラス ライブラリに重複キーの使用を許可する辞書クラスはありますか? 私が見つけた唯一の解決策は、たとえば次のようなクラスを作成することです。

しかし、これは実際に使用するのはかなりイライラします。Java では、MultiMap がこれを達成すると信じていますが、.NET では類似物を見つけることができません。

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

.net - .Net ディクショナリでエントリが加算されるのはなぜですか?

私はちょうどこの行動を見たばかりで、少し驚いています...

Dictionary に 3 つまたは 4 つの要素を追加し、「For Each」を実行してすべてのキーを取得すると、追加したのと同じ順序で表示されます。

これが私を驚かせた理由は、 Dictionary が内部的に HashTable であると想定されているため、物事が任意の順序で出てくることを期待していたからです (キーのハッシュ順ですよね?)

ここで何が欠けていますか?これは私が信頼できる行動ですか?

編集: OK、私はこれが起こる理由の多くをすでに考えていました(エントリへの別のリスト、これが偶然かどうかなど)。私の質問は、これが実際にどのように機能するか知っている人はいますか?

0 投票する
7 に答える
18751 参照

c# - Dictionary のキーでロックを使用する

私は持っていDictionary<string, someobject>ます。

編集:私の例が悪いと指摘されました。私の全体的な意図は、ループ内の参照を更新することではなく、データを更新/取得する必要があるさまざまなスレッドに基づいてさまざまな値を更新することでした。ループをメソッドに変更しました。

ディクショナリ内の項目を更新する必要があります - 一度に 1 つのキーで、ディクショナリ オブジェクトの .key 値のロックを使用する際に問題があるかどうか疑問に思っていましたか?

それは法廷で持ちこたえるか、それとも失敗しますか? ディクショナリ内の各値を個別にロックして、1 つの値をロック (および更新) しても他の値がロックされないようにしたいだけです。また、ロックが長時間保持されることは承知していますが、完全に更新されるまでデータは無効になります。