問題タブ [ordereddictionary]
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.
c# - DataGridViewのデータソースとしてリストを使用する
設定ファイルから設定名とそれぞれの値を順序付けられた辞書に抽出しました。ディクショナリには、ICollectionクラスのキーと値が含まれています。そのデータをバインドして、DataGridViewに表示したいと思います。文字列を配列にコピーしてそれらの配列を表示しようとしましたが、プログラムを実行すると、列が空白になり、バインドされていないように見えました。
また、DataGridViewソースを順序付けられたディクショナリコレクション(キーまたは値)の1つに直接設定しようとしましたが、それでも必要な結果は得られませんでした。列はまだ空白でした。ただし、3番目の列は列名を「長さ」として作成され、ICollection内のエントリーの長さを表示します。しかし、言うまでもなく、長さは必要ありません。エントリ自体が必要です。
この質問に使用しているコードは次のとおりです。フォームを読み込むときに、構成ファイルを読み込むと、m_Settingsというプライベートメンバーにすべてのキーと値のペアがあります。次に、リストを作成し、キーと値を別々に追加します。バインディングソースを「data」に設定した後、プログラムを実行すると、追加した両方の列が両方とも空白になります。
順序付けられた辞書を取得して、「設定」と「値」というラベルの付いた2つの列にエントリを表示する方法について何かアイデアはありますか?リストはDataGridViewsと互換性のあるデータソースだったと思いますが、今は自分自身を推測し始めています。
どんな助けや指示も大歓迎です!必要に応じて、さらに詳しい情報を提供させていただきます。
ありがとう!
編集:
myStructクラスが実装された改訂コードは次のとおりです。
ただし、バインディングDataDourceをlistに設定すると、DataGridViewに何も表示されず、単に空になります。誰もが理由を知っていますか?
c# - OrderedDictionary は読み取り専用であり、変更できません
Q:
次のコードを試すと:
例外がスローされます。
OrderedDictionary は読み取り専用であり、変更できません。
私の質問:
- なぜ読み取り専用なのですか?
- セッションでキーを設定して問題を解決するにはどうすればよいですか?
編集:
私はこれを通して記入しIOrderedDictionary
ます:
c# - キーと値が読み取り専用ではなくなった文字列である読み取り専用の OrderedDictionary のディープ コピーを作成するにはどうすればよいですか?
OrderedDictionary のインスタンス化は次のとおりです。
OrderedDictionary は読み取り専用です。
読み取り専用ではない、orderedDictionary のディープ コピーを作成するにはどうすればよいですか? シリアライゼーション/デシリアライゼーションは機能せず、読み取り専用部分もコピーします。
python - PythonOrderedDictは日付順に並べられています
キーが日付であるOrderedDict(2.7以前のPython用のRaymond Hettingersバージョン)を使用しようとしています。ただし、正しく注文されていないので、IDに基づいて注文しているのではないかと思います。
誰かがこれをどのように行うことができるかについて何か提案がありますか?
python - 同じ文字列で始まる行を検索し、最後の出現を保持します
私はこのデータを持っています:
同じ最初の12文字で始まる行を見つける必要があります。複数ある場合は、前のオカレンスを削除し、最後のオカレンスのみを保持する必要があります。したがって、次のようになります。
注:ほとんどの場合、最初の12文字以降の文字は一致しません...したがって、重複行をチェックすることはできません。
注:順序を保持する必要があります。
python - Python の順序付けられた辞書内の項目の位置を知る方法
Python の順序付き辞書の項目の位置を知ることができますか?
例えば:
私が辞書を持っている場合:
cat
では、どのポジションに属しているかをどのように知ることができますか? 次のような答えを得ることができますか?
position (Ordered_dict["animal"]) = 2 ?
または他の方法で?
python - JSON を OrderedDict にロードできますか?
わかりましたので、 で OrderedDict を使用できますjson.dump
。つまり、OrderedDict を JSON への入力として使用できます。
しかし、それは出力として使用できますか?もしそうなら、どのように?私の場合load
、 OrderedDict に入りたいので、ファイル内のキーの順序を維持できます。
そうでない場合、何らかの回避策はありますか?
python - 行の値を使用した辞書のマッピング
私の問題は、辞書の値を行のインデックスにマップする方法です。私は次のような辞書を持っています:
そして、私は次のselect
ようなクエリから行を取得しました:
次のコードではid
、辞書の最初のインデックスとして取得します。これは、の場合は4番目row
ですが、変数値が実際にの値を取得するようにマップしid
ますrow
。
しかし、私はのインデックスが必要id
ですrow
。すなわち。
id
からの値を取得できるようにします。row
これは121
。
ディクショナリまたはクエリの現在の構造を壊すことができないselect
ので、行アイテムをディクショナリにマップする方法を探しています。
編集:上記のコードでは、最初の反復で得られるものは
しかし、がcontainsのインデックスとして取得row[0]
する場合は、のインデックスをにマップする必要があります。これは、私の例では、を取得するために、ここにinのインデックスがあるため、結果として取得します。"David"
0
row
"David"
id
row
3
value = row[3]
3
id
row
121
c# - .NET に Dictionary の代替手段はありますか?
プロジェクトでディクショナリを使用する必要がありますが、キーを使用してのみアクセスでき、インデックスを使用しないことがわかっているため、インデックスを使用してディクショナリ内の項目にアクセスしたいと考えています。だから私はウェブをいじり、インデックスとキーの両方を使用してアクセスできるため、OrderedDictionaryについて知りましたが、パフォーマンスの問題があり、1日ごとに辞書を読み書きしているため、OrderedDictionaryを使用することはお勧めできません.
最後に、ここでの私の質問は、辞書の機能を提供する代替手段があり、インデックスを使用してアクセスすることもでき、パフォーマンスの問題を引き起こさないということです。
python - {...}表記をオーバーライドして、dict()の代わりにOrderedDict()を取得しますか?
更新:Python3.7以降では挿入順序を保持するdictが保証されています
設定ファイルのような.pyファイルを使いたい。したがって、{...}
表記法を使用すると、文字列をキーとして使用して辞書を作成できますが、標準のPython辞書では定義の順序が失われます。
私の質問:表記をオーバーライドして、の代わり{...}
に取得することは可能ですか?OrderedDict()
dict()
OrderedDict(dict = OrderedDict
)でdictコンストラクターをオーバーライドするだけで機能することを期待していましたが、機能しません。
例えば:
出力: