Python

Pythonで[dictionary]をつかいこなす!

[dictionary]とは?

こんにちは、リバティエンジニア[?]のFUNAです。 現役エンジニアとしてアプリケーション開発やWeb制作、SEOやブログ運営をしています。

今回は、Pythonの"dictionary"についてみていきます。
"dictionary"とは、任意のオブジェクトを複数個格納することができるものとなっています。

dictionaryについて

dictionaryとは、「"キー"と"値"を組み合わせた辞書( dictionary )」のことです。
この辞書を使うことで、特定の要素を検索したり、追加や削除も簡単に実装することができます。

IT博士
IT博士

辞書型はリスト型に比べるとやや複雑ではありますが、覚えることで目的に沿ったコードを便利に書くことが出来ます♪

辞書(dictionary)型は、「{}」の中に"key"と"value"の組み合わせが含まれており、データ管理することができます。

{key1:value1,key2:value2,key3:value3}

このように、要素は"key"と"value"をコロン( : )で区切って構成します。
またそれぞれのペアはカンマで区切って複数の要素を保持することもできます。

辞書型オブジェクトの作り方

辞書型オブジェクトを作る時には、要素を {} 内に書きます。

IT博士
IT博士

ちなみにオブジェクトとは、class型から作られたインスタンスのことを指しています。

class型って何ですか?

IT博士
IT博士

それを知るにはclassについても知らなければなりません。
話すと長くなってしまうので、次回お話ししますね♪
今回はいったん”モノ”だと思っておいてください。

では作り方のサンプルコードを見ていきましょう。

# 辞書型のオブジェクト宣言
myDictionary = {"apple":1, "orange":2, "banana":3}

こう宣言することで"myDictionary"という辞書型のオブジェクトが完成します。

辞書型の要素にアクセスする方法は?

辞書型のオブジェクトは、”リスト型”のように複数の要素を持つことができます。
ですが、”リスト型”と違って、辞書型オブジェクトには順序という概念はありません。
なので、要素を取り出す時には”key”というものを使うことになります。

# 辞書型のオブジェクト宣言
myDictionary = {"apple":1, "orange":2, "banana":3}
val = myDictionary["apple"]
print(val)
# 実行結果 [ 1 ]

このように"myDictionary"という辞書型のオブジェクトの”Key”である"apple"を指定して要素に7アクセスできます。

また、注意する点として

  • 要素へのアクセスは「{}」ではなく「[]」を使う。
  • 存在しないkeyを指定するとエラーが発生する

ということです。

辞書型を検索する方法は?

次に辞書型の要素を検索する方法について見ていきましょう。

in演算子を使う方法

辞書の中からある特定の要素を取り出したい場合には、"in演算子"と"keysメソッド"、"valuesメソッド"を使うことができます。

辞書型の"keysメソッド"を使うことによって、辞書の中からマッチする"key"を検索することができます。

# 辞書型のオブジェクト宣言
myDictionary = {"apple":1, "orange":2, "banana":3}
print("orange" in myDictionary.keys())

"keysメソッド"を使った検索の方法はこのようになります。
指定した辞書型オブジェクトに含まれているすべての”key”をリスト型として返すことができます。
そして”in演算子”を使うことで、”orange”という”key”がそのリストに含まれているのかどうかを確認します。

サンプルコードで見てみると、orangeはmyDictionaryの中に存在するため結果は”True”と表示されました。

検索の方法にはもう一つあります。
それは、辞書型のvaluesメソッドを使う方法です。

# 辞書型のオブジェクト宣言
myDictionary= {"apple":1, "orange":2, "banana":3}
print(5 in myDictionary.values())

”valuesメソッド”を使った検索方法はこうなります。

”valuesメソッド”は、指定した辞書型オブジェクトに含まれているすべての”value”をリスト型として返すことができます。

”in演算子”を使うことで、[ 5 ]という値がリストに含まれているかどうかを検索します。

[ 5 ]はmyDictionaryの中に存在しないので、結果は"False"と表示されます。

辞書型に要素を追加する方法

辞書型は、既に作成したオブジェクトに、新しい要素を追加することも出来ます。

myDictionary = {"apple":1, "orange":2, "banana":3}
# 辞書型に要素を追加する
myDictionary["peach"] = 4

このように"key"を指定してその"key"に"value"を代入することで、新しく要素を追加することができます。

辞書型の要素を削除する方法

最後に、辞書型のオブジェクトの要素を削除するやり方を紹介します。

要素の削除には2つの方法があります。

  • popメソッドを使う方法
  • clearメソッドを使う方法

まずは、popメソッドを使った方法を見ていきましょう。

myDictionary= {"apple":1, "orange":2, "banana":3}
myDictionary.pop("orange")
print(myDictionary)

このように辞書型を宣言した後に、削除したい項目のKeyを”popメソッド”の引数に指定することで、その要素を削除することができます。

次に、clearメソッドを使って要素を削除する方法です。

myDictionary= {"apple":1, "orange":2, "banana":3}
myDictionary.clear()
print(myDictionary)

この”clearメソッド”を使うと辞書型のすべての要素を削除することができます。

まとめ

今回は、PythonでDictionaryという辞書型のオブジェクトについて、作成の仕方や検索、追加、削除などをサンプルコードと一緒に紹介しました。

この"dictionary"はループ処理などで使用することが多く、処理が簡潔化され、便利になるので是非基本を押さえて活用してください。

Pythonでのループ処理についても書いている記事があるのでよかったら見ていってください。

Pythonで繰り返し処理を実装する~for文, while文~


最近の投稿

「ワーケーション」とは?環境省が推している理由やメリットを解説

「ワーケーション」とは?2020年7月に、菅官房長官が「ワーケーション」の普及について表明してSNSやニュースで「ワーケーション」が話題になりました。環境省が推進している理由や導入メリット・デメリットを解説します。

レバテックキャリアは未経験でも転職できるのか?リアルな口コミで検証します

IT特化型転職エージェントの「レバテックキャリア 」は未経験でも転職することができるのか?について実際に利用した方のクチコミを元に調査しました。

レバテックキャリアの悪い評判は本当なのか?利用者から聞く実態と噂の真偽

【2020年10月更新】IT系の転職エージェントで有名な「レバテックキャリア」ですが、なぜ悪い評判や悪い口コミが多いのか?その理由について説明します。また、是非登録すべき他の転職エージェントもご紹介していますので、参考にしてみてください。

その会社は大丈夫?知っておきたいブラック企業の特徴

就職先がブラック企業ではないか不安… 転職を考えているけど、ブラックな会社だったらどうしよう… こういった悩みや不安を抱えている方も多くいると思います。 就職や転職をした際に「この会社、ブラックだった ...

【2020年最新保存版】副業と複業の違いやそれぞれの意味について徹底解説!

こんにちは、リバティエンジニア[?]のFUNAです。 現役エンジニアとしてアプリケーション開発やWeb制作、SEOやブログ運営をしています。 今、話題になっている「テレワーク」という働き方を利用して「 ...

Copyright© FUNA BLOG , 2020 All Rights Reserved.