【python】辞書を扱う上で覚えるべき8つの処理と関数! キーと値についても理解を深めよう

  • 2018年9月1日
  • 2020年4月29日
  • Python
Pythonを独学で学びたい方は、UdemyのPythonコースがおすすめです。シリコンバレーの一流エンジニアが約300の動画を使って、Pythonを網羅的に教えてくれます。プログラミングスクールの10分の1以下の値段で学べるので、コスパも良しです。
※さらに30日間返金保証ありなので、実質リスクゼロ。
Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル

 

 

今回はpythonの辞書を扱う関数 などを見ていきます。

 

 

スポンサーリンク

pythonにおける辞書とは

pythonでは リスト に似た、辞書というオブジェクトが用意されています。

では辞書というのはどのようなものでしょうか。

辞書とはキーと値がセットになったデータが複数含まれるオブジェクトです。

以下に例を1つ示します。

score = {'taro':92,'hanako':30,'jiro':20}

score(点数)を辞書型で表しています。

コロン(:)の左側がキーで、右側が値です。それぞれの人の点数が値として登録されています。

このように辞書型ではキーと値の2つで1つの組になっているのが分かると思います。

 

辞書型を扱う上で覚えるべき処理

辞書型のオブジェクトを扱っていくうえでいくつか覚えておく必要のある関数があります。以下ではそれらについて1つずつ説明していきます。

 

スポンサーリンク

dict()関数で辞書型に変換する

dict()関数を適用すると、引数(かっこの中)で指定したものを辞書型に変換できます。

以下の例を見てください。

>>>fruits = [['apple',100],['melon',1000],['cherry',300]]
>>>dict(fruits)
{'apple': 100, 'cherry': 300, 'melon': 1000}

1行目のfruitsはリストです。リストについては以下の記事で詳しく説明しているので見てみてください。

pythonでリスト(配列)を扱う上で覚えておきたい9つの関数

しかし上のリストはただのリストではなく、リストの中にリストが入っています。これによって2つの値が1組になっています。

よってここでdict()関数を適用すると、3行目のように辞書型になって出力されます。

 

キーを指定して要素を変更(追加)する

次に、関数ではないですが、辞書内にある要素を変更もしくは、辞書内にない要素を追加する方法を見ていきます。

基本的には、dict[キー] = 値、の形で記述します。以下で例を見ていきます。

>>>fruits = {'apple': 100, 'cherry': 300}
>>>fruits['apple'] = 200
>>>fruits['melon'] = 1000
>>>print(fruits)
{'apple': 200, 'cherry': 300, 'melon': 1000}

最初は辞書fruitsの中にappleとcherryが値段とペアで入っています。

そして、2行目でappleの値段を200円に、3行目でmelonの値段を1000円に指定しています。

辞書fruitsを表示すると、もともと辞書内になかったmelonはしっかり追加され、appleの値段(値)もしっかり変更されていることが分かると思います。

 

スポンサーリンク

update()関数で辞書を結合する

update()関数を使うと、ある辞書を他の辞書にコピーできます。

記述の仕方は、辞書1.update(辞書2)という風にします。そうすると辞書2が辞書1にコピーされます。

以下で例を見ていきます。

>>>fruits1 = {'apple': 100, 'cherry': 300}
>>>fruits2 = {'melon': 1000, 'apple': 200}
>>>fruits1.update(fruits2)
>>>print(fruits1)

上の例ではまずfruits1、fruits2という辞書を2つ作って、update()関数を使うことによって、fruits1にfruits2をコピーしています。

ちなみに上の例を見れば分かると思いますが、2つの辞書どちらにも同じキーが存在している場合はupdate()関数の引数(かっこの中)にとった方の辞書の値が優先されます。

 

delでキーを指定して要素を削除する

del 辞書名[キー]、と記述すると、[ ]内で指定したキーとそれと組みになっている値が辞書から削除されます。

以下で例を見ていきます。

>>>fruits = {'apple': 200, 'cherry': 300, 'melon': 1000}
>>>del fruits['apple']
>>>print(fruits)
{'cherry': 300, 'melon': 1000}
fruits辞書内のappleを指定してdelしているので、最終的な出力ではappleが消えているのが分かると思います。

 

inによって指定したキーの存在を確認する

次は辞書内にあるキーが存在するかどうか調べる方法です。

キー in 辞書、という風に記述します。

以下で例を見ていきましょう。

>>>fruits = {'apple': 200, 'cherry': 300, 'melon': 1000}
>>>'apple' in fruits
True
>>>''grape' in fruits
False

辞書内に指定したキーがあるかどうかで、TrueかFalseが出力されているのが分かると思います。

 

keys()、values()、items()関数で値を取得する

keys()関数、values()関数、items()関数を使うと、それぞれ全てのキー、全ての値、全てのキーと値のペアを取得してくれます。

以下で例を見ていきましょう。

>>>fruits = {'apple': 200, 'cherry': 300, 'melon': 1000}
>>>fruits.keys()
dict_keys(['apple', 'cherry', 'melon'])
>>>fruits.values()
dict_values([200, 300, 1000])
>>>fruits.items()
dict_items([('apple', 200), ('cherry', 300), ('melon', 1000)])

2行目でfruits辞書にkeys()関数を適用するとキーだけが取り出されているのが分かります。

同様に、values()関数、items関数の場合も値と、キーと値のペアが取り出されています。

 

まとめ

今回は辞書を扱う上で知っておく必要がある、関数などの処理をいくつか学んでいきました。

辞書は大変便利な機能で、今後使っていくことも多いと思うのでしっかり覚えておいてください。

今後また辞書をどのように使っていくかという記事を書くつもりなのでその時はそちらも是非読んでみてください。

 

今後も定期的にプログラミング系の記事を発信していくので、興味のある人はブックマークして見にきてくれると嬉しいです!!

 

 

Pythonを独学で学びたい方は、UdemyのPythonコースがおすすめです。シリコンバレーの一流エンジニアが約300の動画を使って、Pythonを網羅的に教えてくれます。プログラミングスクールの10分の1以下の値段で学べるので、コスパも良しです。
※さらに30日間返金保証ありなので、実質リスクゼロ。
Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
スポンサーリンク