Pythonにおけるdict型データのkeyについて現役エンジニアが解説【初心者向け】
初心者向けにPythonにおけるdict型データのkeyについて現役エンジニアが解説しています。dict型データとはkeyとvalueのペアから構成される辞書型の配列の一種です。Pythonのdictのkeyの書き方やkeyの取得方法、dictの全ての要素のkeyの取得方法などを解説します。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Pythonにおけるdict型データのkeyについて、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
そもそもPythonについてよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプPython講座の内容をもとに紹介しています。
今回は、Pythonに関する内容だね!
どういう内容でしょうか?
Pythonにおけるdict型データのkeyについて詳しく説明していくね!
お願いします!
目次
dict型データとは
辞書はPythonのデータ構造の一つで、連想配列して記憶している人もいるかもしれません。辞書は、keyとvalueのペアコレクションから構成されます。それぞれのkeyとvalueのペアは、keyと関連する値をマッピングします。
カンマで区切られたkeyとvalueのペアのリストを中括弧 ( { } ) で囲むことで、辞書を定義することができます。コロン ( : ) は、各keyと関連するvalueを分離するために持ち入ります。
なお、辞書型のデータには順番がありません。(リストには順番があります。)変更することが可能です。また、インデックスを用いてデータを取り出すことも可能ですが、dict型のデータを更新するたびに順番が変わることに注意が必要です。
keyの使い方
1.keyの使って値を取得する方法は、よく使われるものとして、以下が考えられます。
- dict[key]で値を取得
- for key in dict.keys()として、dictに含まれる全てのkeyを試す方法
- dict.get(key)で値を取得
それでは、それぞれの方法について使用方法をみていきましょう。
1. dict[key]で値を取得
取得したいkeyを指定して値を取得する場合にこの方法が用いられます。ただし、keyがdict内に存在しない場合にはKeyErrorとなってしまうため、keyを文字列で指定する場合には注意が必要です。
2.for key in dict.keys()として、dictに含まれる全てのkeyを試す方法
1の方法と合わせて用いられることが多いですが、dict内に含まれるkeyを全てチェックすることができます。ただし、指定したいkeyが必ず含まれているかはわかりませんので、keyの値についてもチェックする必要があります。
3.dict.get(key)で値を取得
特定のkeyについてのみ値を取得したい場合にこちらを使います。指定したdictの中にkeyが含まれていれば値を、含まれていない場合にはNoneを返します。そのため、keyについて存在の有無をチェックする必要はありません。ただし、値がNoneになる可能性を残したままコードが走り続けますので、Noneとなった場合の処理を記述しておく必要があります。
keyを利用してdict型データに特定の値が含まれているか判定してみよう
例1のソースコード
fruits_dict = {'apple': 1, 'orange': 2, 'banana': 3, 'peach': 4, 'lemon': 5, 'water melon': 6} if fruits_dict['apple'] == 1: print('apple: {}'.format(fruits_dict['apple'])) if fruits_dict['pineapple'] == 1: print('pineapple: {}'.format(fruits_dict['pineapple']))
結果
apple: 1 Traceback (most recent call last): File "ex7.py", line 5, in <module> if fruits_dict['pineapple'] == 1: KeyError: 'pineapple'
解説
appleはdictの要素と含まれるため、取得することができました。しかし、pineappleはdict内に含まれていないため、エラーを返しました。
例2のソースコード
fruits_dict = {'apple': 1, 'orange': 2, 'banana': 3, 'peach': 4, 'lemon': 5, 'water melon': 6} for key in fruits_dict.keys(): if key == 'apple': print('apple: {}'.format(fruits_dict['apple'])) if key == 'pineapple': print('pineapple: {}'.format(fruits_dict['pineapple']))
結果
apple: 1
解説
appleはdictに含まれる要素のため、valueを返しましたが、pineappleは含まれないため、何も表示されませんでした。
要素一つ一つに対して、条件を設定していく場合にはこちらの方法が便利です。
例3のソースコード
fruits_dict = {'apple': 1, 'orange': 2, 'banana': 3, 'peach': 4, 'lemon': 5, 'water melon': 6} if fruits_dict.get('apple'): print('apple: {}'.format(fruits_dict['apple'])) if fruits_dict.get('pineapple'): print('pineapple: {}'.format(fruits_dict['pineapple']))
結果
apple: 1
解説
条件分岐で持ち入りたい場合などに有効なのがgetを使う方法です。
この場合はpineappleが含まれていないので、その場合にはNoneを返します。そのため、存在の確認を利用した条件分岐に非常に役に立ちます。しかし、同じ辞書型データないで、複数の条件分岐に対応させる場合には例2の方法を使うことをお勧めします。
まとめ
dict型データのkeyの使い方についてまとめてみました。
Pythonではよく使う方法となりますので積極的に利用してみてください。
監修してくれたメンター
メンターkatoさん
学生時代に数値解析のためにプログラミングを始める。現在は企業にて専門職として働くかたわら、プログラムを書き業務効率化を図っている。 現在のメイン言語はPython, JavaScript。また、企業内の希望者にPythonのメンターとして基礎から教えている。テックアカデミーではJavaScriptを教える。 |
大石ゆかり
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でもPythonを使った人工知能(AI)や機械学習の基礎を習得できるオンラインブートキャンプPython講座を開催しています。
挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。