Pythonの辞書keys()メソッドとは?使い方と動作の仕組みをわかりやすく解説
Pythonの辞書(dict)クラスが提供するkeys()メソッドは、辞書に登録されているすべてのキーを含む「ビューオブジェクト」を返します。このメソッドを使えば、辞書内のキーを簡単に一覧形式で取得できます。
keys()メソッドの基本的な使い方
次の例では、学生情報を格納した辞書に対してkeys()メソッドを呼び出しています。
>>> d1 = {'name': 'Ravi', 'age': 21, 'marks': 60, 'course': 'Computer Engg'}
>>> d1.keys()
dict_keys(['name', 'age', 'marks', 'course'])戻り値はdict_keys型のビューオブジェクトです。リストと同様に扱うことができ、変数に代入してそのまま利用することも可能です。
ビューオブジェクトは自動的に更新される
keys()メソッドの重要な特徴は、返されるビューオブジェクトが元の辞書と連動しているという点です。つまり、辞書に新しいキーと値のペアを追加すると、ビューオブジェクト側にも変更が自動的に反映されます。
>>> l1 = d1.keys()
>>> l1
dict_keys(['name', 'age', 'marks', 'course'])
>>> d1.update({"college": "IITB"})
>>> l1
dict_keys(['name', 'age', 'marks', 'course', 'college'])
上記の例では、update()メソッドで新しいキー「college」を追加しただけで、あらかじめ変数l1に代入しておいたビューオブジェクトにも「college」が現れています。これは、keys()がキーの単なるコピーではなく、辞書への動的な参照(ビュー)を返すためです。
ポイントまとめ
- keys()メソッドは、辞書のすべてのキーを含むビューオブジェクトを返す
- 通常のリストとして使いたい場合は
list(d1.keys())で変換できる - 辞書が変更されると、ビューオブジェクトも自動的に更新される
- forループでのキー走査やキーの存在確認など、さまざまな場面で活用できる
-
Pythonで辞書をキー順に並べ替える方法【OrderedDictとsorted()の使い方】
Pythonで辞書(dict)の要素をキーの順序に従って並べ替えたい場面はよくあります。この記事では、標準ライブラリのcollectionsモジュールに含まれるOrderedDictと、組み込み関数sorted()を組み合わせて、辞書をキー順にソートする方法を解説します。 OrderedDictとは Pythonの標準ディストリビューションには、高性能なコンテナデータ型を定義したcollectionsモジュールが含まれています。その中のOrderedDictは、辞書のサブクラスであり、要素が追加された順序を記憶する特徴を持っています。OrderedDictをイテレートすると、キーが最初に追加さ
-
Pythonにおけるアンダースコア(_)の意味と使い方をわかりやすく解説
Pythonでは、アンダースコア(_)は特別な役割を持つ記号です。一見ただの文字に見えますが、実際にはインタープリタの動作や命名規則、数値リテラルの表記など、さまざまな場面で重要な働きをします。この記事では、Pythonでアンダースコアが使われる主な5つのケースを、コード例とともにわかりやすく解説します。1. インタープリタで直前の式の値を保持するPythonの対話モード(インタープリタ)では、直前に評価した式の結果が、特別な変数「_」に自動的に格納されます。計算結果をすぐに再利用したいときに非常に便利です。使用例>>> 12 + 10 22 >>> _ 2