linqを使用して辞書に複数の値が格納されたリストを返す

ティエリー

次のように定義された辞書Dictionary<string, List<int>>があります。List<Int>複数の値が含まれるエントリのみが含まれるようにフィルタリングしたいと思います

以下のコードは私の辞書を正しく構築します(Andrew Whitakerに感謝します)

Dictionary<string, List<int>> fieldNameList = 
    Mapping.Select(m => m.FieldName)
           .Select((c, i) => new { Value = c, Index = i })
           .GroupBy(o => o.Value, o => o.Index)
           .ToDictionary(grp => grp.Key, grp => grp.ToList());

ただし、複数の項目を含むリストのみが最終的な辞書に含まれるように、フィルターで絞り込む必要があります。

私が間違っていることを理解したいので、追加のフィルターについて説明していただけませんか。

.Where(m => m.Value.Count > 1)これでうまくいくと思って既存のクエリを追加しましたが、「暗黙の変換」エラーが発生します。

ジョン

フィルタを適用できる最も早い時期は、グループ化後、辞書を作成する前です。

.GroupBy(o => o.Value, o => o.Index)
.Where(g => g.Count() > 1)
.ToDictionary(grp => grp.Key, grp => grp.ToList());

これには説明は必要ありません。そもそも辞書に不要な項目を追加しないという点で最も効率的です。

単一アイテムのリストを保持したいが、それらを一部の時間だけフィルターで除外したい場合は、代わりに、

dict.Where(p => p.Value.Count > 1)

あなたの最初の試み

.ToDictionary(grp => grp.Key, grp => grp.ToList())
.Where(m => m.Value.Count > 1);

は完全に合理的なことですが、によって生成される結果のタイプはであるため、機能しませWhereIEnumerable<KeyValuePair<string, List<int>>>でした。ただし、この値を具象辞書として型指定された変数に割り当てようとしています。これは、キーと値のペアの列挙可能なリストの特殊なケースであり、型の安全性を保証するために、コンパイラーはそれを停止する必要があります。

のタイプをfieldNameList上記に変更した場合、この行はコンパイルされますが、IDictionary<K, V>後でインターフェイスを使用することはできません

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Pythonの2次元リストに格納されている特定の辞書値の数を取得します

分類Dev

クエリによって返された数値のリストを変数に格納します

分類Dev

Linqを使用して別の辞書内にネストされた辞書を返す

分類Dev

変数に格納されているキーを使用してレジストリ値を上書きする

分類Dev

Pythonのリストのネストされた辞書に格納されている値を使用して、ユーザー入力として取得された生年月日を確認します

分類Dev

アイテムごとに複数の値を使用して、辞書を値でソートされたリストに変換する

分類Dev

リストに格納されているキーを使用して、ネストされた内部辞書を取得します

分類Dev

返された関数値をリストに格納するWXpython

分類Dev

単語と数値がstrとして格納されているリストの値をさらに処理するためにintに変換する方法

分類Dev

複数の列にわたって辞書値を使用してパンダが乗算されます

分類Dev

C#で複数のキー値を選択してネストされた辞書をクエリするLINQ

分類Dev

forループを使用してリストに格納されている複数のデータフレームにキー/値を分散する

分類Dev

Pythonはキーによってネストされた辞書に複数の値を追加します

分類Dev

Python:辞書のリストには、すべての反復で最後に追加された値のみが格納されます

分類Dev

ネストされた辞書(Python)に値を格納する際のキーエラーの回避

分類Dev

Pythonを使用してネストされた辞書に複数のキーと値を追加するにはどうすればよいですか?

分類Dev

生成されたgrails3サービスをループで使用して、データベースに複数のエントリを格納する方法

分類Dev

辞書に複数の値を格納する方法は?

分類Dev

LINQを使用して複数の辞書から値を選択してオブジェクトのリストに入れる

分類Dev

Python辞書が複数の値をループし、それらを単一のキーの単一のリスト値として返す

分類Dev

複数のキーが繰り返されている辞書のリストから辞書を作成し、そのリストから最大値を選択します

分類Dev

値を使用してネストされた辞書を返すことができますか?django

分類Dev

PythonでSQLのような結合を実行し、ネストされた辞書に格納する

分類Dev

linqを使用して辞書からネストされたキーと値のペアを取得する方法

分類Dev

辞書に値として格納されている名前で関数を実行します

分類Dev

辞書を、繰り返されるキーの値が合計されるリストに変換します

分類Dev

複数のタイプを値としてC ++辞書に格納しますか?

分類Dev

Python:クラスを使用して辞書に情報を追加し、追加された辞書エントリのキーと値を出力する方法

分類Dev

スクリプトtest.py(Python)内の2つの異なる関数に個別に格納されている2つの辞書を比較する方法

Related 関連記事

  1. 1

    Pythonの2次元リストに格納されている特定の辞書値の数を取得します

  2. 2

    クエリによって返された数値のリストを変数に格納します

  3. 3

    Linqを使用して別の辞書内にネストされた辞書を返す

  4. 4

    変数に格納されているキーを使用してレジストリ値を上書きする

  5. 5

    Pythonのリストのネストされた辞書に格納されている値を使用して、ユーザー入力として取得された生年月日を確認します

  6. 6

    アイテムごとに複数の値を使用して、辞書を値でソートされたリストに変換する

  7. 7

    リストに格納されているキーを使用して、ネストされた内部辞書を取得します

  8. 8

    返された関数値をリストに格納するWXpython

  9. 9

    単語と数値がstrとして格納されているリストの値をさらに処理するためにintに変換する方法

  10. 10

    複数の列にわたって辞書値を使用してパンダが乗算されます

  11. 11

    C#で複数のキー値を選択してネストされた辞書をクエリするLINQ

  12. 12

    forループを使用してリストに格納されている複数のデータフレームにキー/値を分散する

  13. 13

    Pythonはキーによってネストされた辞書に複数の値を追加します

  14. 14

    Python:辞書のリストには、すべての反復で最後に追加された値のみが格納されます

  15. 15

    ネストされた辞書(Python)に値を格納する際のキーエラーの回避

  16. 16

    Pythonを使用してネストされた辞書に複数のキーと値を追加するにはどうすればよいですか?

  17. 17

    生成されたgrails3サービスをループで使用して、データベースに複数のエントリを格納する方法

  18. 18

    辞書に複数の値を格納する方法は?

  19. 19

    LINQを使用して複数の辞書から値を選択してオブジェクトのリストに入れる

  20. 20

    Python辞書が複数の値をループし、それらを単一のキーの単一のリスト値として返す

  21. 21

    複数のキーが繰り返されている辞書のリストから辞書を作成し、そのリストから最大値を選択します

  22. 22

    値を使用してネストされた辞書を返すことができますか?django

  23. 23

    PythonでSQLのような結合を実行し、ネストされた辞書に格納する

  24. 24

    linqを使用して辞書からネストされたキーと値のペアを取得する方法

  25. 25

    辞書に値として格納されている名前で関数を実行します

  26. 26

    辞書を、繰り返されるキーの値が合計されるリストに変換します

  27. 27

    複数のタイプを値としてC ++辞書に格納しますか?

  28. 28

    Python:クラスを使用して辞書に情報を追加し、追加された辞書エントリのキーと値を出力する方法

  29. 29

    スクリプトtest.py(Python)内の2つの異なる関数に個別に格納されている2つの辞書を比較する方法

ホットタグ

アーカイブ