for文で辞書を扱うときに、キーだけを取り出したいときやバリューも一緒に取り出したいときなど出てくると思います。
そこで、今回はメソッドや関数を使って辞書からいろいろなデータを取り出すときに使うkeys()メソッド、values()メソッド、items()メソッドの使用方法を紹介していきます。
for文を例に紹介するので、基本的なことを知りたいか方はコチラ
Pythonのループ処理に使われる構文にはfor文とwhile文があります。今回はそのfor文の使い方解説をしていきます。 for文とは for文はループ処理を行う構文です。Pythonで書く場合はコロン(:)とインデントに注[…]
キーだけを取り出す方法
1 2 3 4 5 6 7 8 |
>>> X = {'a':'あ', 'i':'い', 'u':'う'} >>> for i in X: print(i) #出力結果 a i u |
for文にそのまま辞書を渡すとキーだけを取り出してくれます。また以下のようにkey()メソッドを使って取り出すこともできます。
1 2 3 4 5 6 7 8 |
>>> X = {'a':'あ', 'i':'い', 'u':'う'} >>> for i in X.keys(): print(i) #出力結果 a i u |
バリューだけを取り出す方法
1 2 3 4 5 6 7 8 |
>>> X = {'a':'あ', 'i':'い', 'u':'う'} >>> for i in X.values(): print(i) #出力結果 あ い う |
辞書にvalues()メソッドを使うとバリューを取り出してくれます。
キーとバリューを取り出す方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#2変数の場合 >>> X = {'a':'あ', 'i':'い', 'u':'う'} >>> for k, v in X.items(): print(k, v) #出力結果 a あ i い u う #1変数の場合 >>> X = {'a':'あ', 'i':'い', 'u':'う'} >>> for i in X.items(): print(i) #出力結果 ('a', 'あ') ('i', 'い') ('u', 'う') |
このようにitems()メソッドを使って書くことでキーとバリューを取り出すことができます。
インデックスを取り出す方法
キーとインデックス
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
#タプルで取り出す >>> X = {'a':'あ', 'i':'い', 'u':'う'} >>> for i in enumerate(X): print(i) #出力結果 (0, 'a') (1, 'i') (2, 'u') #2変数で取り出す >>> X = {'a':'あ', 'i':'い', 'u':'う'} >>> for i, k in enumerate(X): print(i, k) #出力結果 0 a 1 i 2 u #keysメソッドと1変数 >>> X = {'a':'あ', 'i':'い', 'u':'う'} >>> for i in enumerate(X.keys()): print(i) #出力結果 (0, 'a') (1, 'i') (2, 'u') #keysメソッドと2変数 >>> X = {'a':'あ', 'i':'い', 'u':'う'} >>> for i, k in enumerate(X.keys()): print(i, k) #出力結果 0 a 1 i 2 u |
上の例は辞書からインデックスとキーを取り出しています。enumerate関数を使うとタプルで取り出すこともできますし、別々の変数に格納することもできます。
キーを取り出す場合はkey()メソッドをつけなくてもOKですが、コードを読む人にとっては書いてあげた方が分かりやすいかもしれません。
バリューとインデックス
バリューとインデックスを取り出したいときには以下のようにvalues()メソッドを使って書きます。1変数と2変数の違いは今まで通りです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#1変数で取り出す >>> X = {'a':'あ', 'i':'い', 'u':'う'} >>> for i in enumerate(X.values()): print(i) #出力結果 (0, 'あ') (1, 'い') (2, 'う') #2変数で取り出す >>> X = {'a':'あ', 'i':'い', 'u':'う'} >>> for i, v in enumerate(X.values()): print(i, v) #出力結果 0 あ 1 い 2 う |
キー・バリューとインデックス
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#1変数 >>> X = {'a':'あ', 'i':'い', 'u':'う'} >>> for i in enumerate(X.items()): print(i) #出力結果 (0, ('a', 'あ')) (1, ('i', 'い')) (2, ('u', 'う')) #2変数 >>> X = {'a':'あ', 'i':'い', 'u':'う'} >>> for i, j in enumerate(X.items()): print(i, j) #出力結果 0 ('a', 'あ') 1 ('i', 'い') 2 ('u', 'う') |
items()メソッドを使うと辞書のキーとバリューをセットで取り出すことができます。同時にenumerate関数を使うことでインデックスも取り出せるわけです。
1変数のときはインデックスもまとめてタプルに格納されていますが、2変数のときはインデックスとキー・バリューは別々の変数に格納されています。
まとめ
辞書からいろいろなデータを取り出す方法を見ていきました。keys()メソッド、values()メソッド、items()メソッドの使い方を覚えておきましょう。
またenumerate関数はインデックスを取り出すときに使用します。その引数に何を渡すかでキーのインデックスなのか、バリューのインデックスなのか、キー・バリューのインデックスなのかが変わってきます。
それぞれのメソッドと関数の挙動を正確に理解するためにも自分でコードを書いてみましょう。
リストやタプルでenumerate関数を使う方法はコチラ
ループ処理に使われるfor文で、リストやタプルからインデックスと要素を取り出したいときに使う構文を紹介します。 この記事ではリストを例にコードを紹介していますが、タプルに置き換えても同じことができます。 for文の基本的な使い[…]
- ループ処理とは?for文とwhile文の解説
- while文を使う方法【インクリメントと無限ループ対処法】
- for文の使い方解説(一行・range関数・リスト)
- for文を一行で書く方法と複数行との違い
- for文でrange関数とlen関数を使う方法
- for文でリストのインデックスと要素を取り出す(enumerate)
- for文で辞書のキー・バリューを取り出す方法(enumerate・items・keys・values)
- 条件分岐とは?if文・else・elifの書き方
- for文やif文でpass・break・continueを使う方法
- while文のbreak・else・continue使い方まとめ
プログラミング言語のなかでも人気の高いPythonを学習する教材を紹介します。 最近ではプログラミングスククールがたくさんあるので迷うと思います。 ですが、まずは無料教材から始めてみましょう。苦労した分だけ力がつきます。 […]