Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで辞書のキーをリストとして取得する3つの方法

Pythonプログラミングにおいて、辞書(dict)からキーだけを取り出してリストとして扱いたい場面は非常に多くあります。例えば、キーの一覧を使って別の処理を行ったり、ループ処理の入力データとして利用したりするケースです。本記事では、辞書のキーをリスト形式で取得する代表的な3つの方法を、サンプルコードと実行結果とともにわかりやすく解説します。

方法1:dict.keys() を使う

最も直接的で一般的なのが、辞書組み込みメソッドの keys() を使う方法です。keys() は辞書のすべてのキーを含むビューオブジェクトを返すため、それを list() で囲むことでリストに変換できます。

サンプルコード

Adict = {1:'Sun',2:'Mon',3:'Tue',4:'Wed'}
print("元の辞書 :\n ",Adict)

print(list(Adict.keys()))

実行結果

上記のコードを実行すると、次のような出力が得られます。

元の辞書 :
    {1: 'Sun', 2: 'Mon', 3: 'Tue', 4: 'Wed'}
[1, 2, 3, 4]

方法2:アンパッキング演算子「*」を使う

アンパッキング演算子 * は、リストやタプルなど任意のイテラブルオブジェクトに適用できます。辞書に対して * を使うと、そのキーが展開されるため、これを角括弧 [] 内に記述することで、キーのリストを直接生成できます。シンプルでPythonらしい書き方として人気があります。

サンプルコード

Adict = {1:'Sun',2:'Mon',3:'Tue',4:'Wed'}
print("元の辞書 :\n ",Adict)

print([*Adict])

実行結果

上記のコードを実行すると、次のような出力が得られます。

元の辞書 :
{1: 'Sun', 2: 'Mon', 3: 'Tue', 4: 'Wed'}
[1, 2, 3, 4]

方法3:itemgetter を使う

operator モジュールの itemgetter(i) は、辞書・リスト・タプルなどのイテラブルオブジェクトを受け取り、そのi番目の要素を取り出す呼び出し可能オブジェクト(callable)を生成します。この性質を利用し、map() 関数と組み合わせることで、辞書の各キーと値のペアからキー部分だけを抽出できます。

サンプルコード

from operator import itemgetter

Adict = {1:'Sun',2:'Mon',3:'Tue',4:'Wed'}
print("元の辞書 :\n ",Adict)

print(list(map(itemgetter(0), Adict.items())))

実行結果

上記のコードを実行すると、次のような出力が得られます。

元の辞書 :
{1: 'Sun', 2: 'Mon', 3: 'Tue', 4: 'Wed'}
[1, 2, 3, 4]

まとめ

辞書のキーをリストとして取得するには、以下の3つの方法が有効です。

  • dict.keys() + list(): 最も標準的で可読性が高い方法
  • アンパッキング演算子 [*dict]: 簡潔に書けるモダンな方法
  • itemgetter + map: items() のペアから特定要素を抽出する汎用的な手法

いずれの方法も同じ結果 [1, 2, 3, 4] を返しますが、コードの意図や可読性を考慮して、通常は list(Adict.keys()) を使うのがおすすめです。

  1. 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

  2. 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