Pythonで辞書のキーをリストとして取得する方法
Python
で辞書のキーをリストとして取得するためには、list()
関数を使うのが基本的な方法です。例えば、次のように辞書のキーをリストに変換できます。
my_dict = {1: 'one', 2: 'two', 3: 'three'}
keys_list = list(my_dict.keys())
print(keys_list) # 結果: [1, 2, 3]
このコードでは、my_dict.keys()
が返すdict_keys
オブジェクトをlist()
でリストに変換しています。dict_keys
は辞書のキーを保持する特殊なビューオブジェクトで、リストに似た操作ができますが、完全なリストとして扱いたい場合はこのように変換が必要です。
アンパック演算子を使った簡潔な方法
Python
3.5以降では、アンパック演算子(*
)を使って辞書のキーをリストに変換することも可能です。次のように書くことで、より簡潔に同じ結果を得ることができます。
keys_list = [*my_dict]
print(keys_list) # 結果: [1, 2, 3]
この方法では、辞書自体をアンパックして、リストに直接キーを格納します。これは従来のlist(my_dict.keys())
よりも短く、効率的に記述できる場合があります。
辞書のキーを扱うその他の方法
list(dict)
と記述するだけでも、辞書のキーをリスト化できます。これはdict.keys()
を使わない方法ですが、結果は同じです。
keys_list = list(my_dict)
print(keys_list) # 結果: [1, 2, 3]
また、リスト内包表記を使ってキーを取得することもできます。
keys_list = [key for key in my_dict]
print(keys_list) # 結果: [1, 2, 3]
パフォーマンスの考慮
小さな辞書の場合、どの方法でも速度差はほとんどありませんが、大規模な辞書ではlist(my_dict)
やアンパック演算子を使った方が若干高速になることがあります。ただし、最も明示的で分かりやすい方法はlist(my_dict.keys())
ですので、基本的にはこちらを使用することが推奨されます。
まとめ
Python
で辞書のキーをリストとして取得する方法には、list()
関数やアンパック演算子を使う方法があります。最も一般的な方法はlist(dict.keys())
ですが、[*dict]
もより簡潔で有効な選択肢です。どちらの方法を使うかは、可読性やコードの簡潔さを考慮して選ぶと良いでしょう。