【C#】Dictionaryからキーのリストを取得する方法
C#では、Dictionary<TKey, TValue> に格納されたすべてのキーを、List<TKey> として簡単に取り出すことができます。この記事では、Keys プロパティを使ってキーの一覧をリスト化し、画面に表示するまでの手順をサンプルコード付きで解説します。
Dictionaryに要素を追加する
まずは、辞書(Dictionary)に要素を設定しましょう。
Dictionary<int, string> d = new Dictionary<int, string>(); // 辞書の要素 d.Add(1, "One"); d.Add(2, "Two"); d.Add(3, "Three"); d.Add(4, "Four"); d.Add(5, "Five"); d.Add(6, "Six"); d.Add(7, "Seven"); d.Add(8, "Eight");
キーをListとして取得する
キーを取得するには、d.Keys で得られるキーコレクションを、List<int> のコンストラクタに渡します。これにより、すべてのキーが新しいリストにコピーされます。
List<int> keys = new List<int>(d.Keys);
キーをループ処理して表示する
取得したリストを foreach でループし、各キーを順番に出力します。以下が完全なサンプルコードです。
サンプルコード(全体)
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
Dictionary<int, string> d = new Dictionary<int, string>();
// 辞書の要素
d.Add(1, "One");
d.Add(2, "Two");
d.Add(3, "Three");
d.Add(4, "Four");
d.Add(5, "Five");
d.Add(6, "Six");
d.Add(7, "Seven");
d.Add(8, "Eight");
// キーの取得
List<int> keys = new List<int>(d.Keys);
Console.WriteLine("Displaying keys...");
foreach (int res in keys) {
Console.WriteLine(res);
}
}
}
実行結果
Displaying keys... 1 2 3 4 5 6 7 8
ポイントまとめ
d.KeysはKeyCollectionを返すため、インデックスによる直接アクセスはできません。List<TKey>のコンストラクタに渡すことで、通常のリストとして自由に操作できるようになります。- LINQを使用する場合は
d.Keys.ToList()と書くことも可能です(using System.Linq;の追加が必要です)。
-
Pythonの辞書(ディクショナリ)からすべての値をリストとして取得する方法
Pythonの辞書に格納されたすべての値をリスト形式で取得したい場合、最もシンプルな方法は dict.values() メソッドを使うことです。このメソッドは辞書内のすべての値を返すため、list() 関数で囲むことで簡単にリストへ変換できます。values() メソッドを使った基本的な例my_dict = {name: TutorialsPoint, time: 15 years, location: India} value_list = list(my_dict.values()) print(value_list)出力結果上記のコードを実行すると、次のような出力が得られます。[Tuto
-
Pythonの辞書からすべてのキーをリストとして取得する方法
Pythonの辞書(dict)からすべてのキーをリストとして取得したい場合、最もシンプルな方法は dict.keys() メソッドを使うことです。このメソッドは辞書内のすべてのキーを含むビューオブジェクトを返すため、list() で囲むことで簡単にリストへ変換できます。keys()メソッドを使う例my_dict = {name: TutorialsPoint, time: 15 years, location: India} key_list = list(my_dict.keys()) print(key_list)出力実行すると、次のような結果が得られます。[name, time, loc