辞書の作り方。Python初心者にやさしく解説!

Python辞書の作り方 Python

 

前回は、辞書の要素参照を解説しました。
今回は、色々な方法で辞書を作る!ということで、以下に分けて解説します!

辞書の更新(上書き)

テスト用のデータを用意します。ご存知ビッグ3の名前と出身地の辞書です。
まずはこの中から、たけしさんの要素を参照してみましょう。

big3 = {'たけし': '東京', 'さんま': '和歌山', 'タモリ': '福岡'}
big3['たけし']

▼実行結果

'東京'

たけしさんは東京と出ましたね。では、この出身地を東京から足立区に変えてみましょう!
変えるにはキーに値を代入するだけでいけます。

big3['たけし'] = '足立区'
big3['たけし']

▼実行結果

'足立区'

はい!とても簡単でしたね。

dict関数による辞書作成

これまでは辞書を作るとき、波括弧で括って云々というやり方をしました。しかし、dict関数という組み込み関数で作ることもできます。
dict()の形式になっていて、カッコの中にキーワード引数を指定してあげれば作れます。

big3 = dict(たけし='東京', さんま='和歌山', タモリ='福岡')
big3

▼実行結果

{'たけし': '東京', 'さんま': '和歌山', 'タモリ': '福岡'}

ご覧のように無事、辞書ができました。
しかし!ここで注意点があります。気づいた御方はいるでしょうか?
三人の名前に引用符がついていませんよね。
dict()にキーワード引数を突っ込むときは、たとえ文字列であっても引用符はつけないようにしてください。

zip関数による辞書作成

はい!また関数がでてきました。zip関数という組み込み関数でも辞書が作れるんですね。
と言ってもzip関数単体ではできません。合わせ技を使うんです。
先にソースだけ示してから詳しく説明しましょう!

key = ['たけし', 'さんま', 'タモリ']  # キーのリスト作成
val = ['東京', '和歌山', '福岡']  # 値のリスト作成
big3 = dict(zip(key, val))  # zipで合体させたものを、辞書化する
big3

▼実行結果

{'たけし': '東京', 'さんま': '和歌山', 'タモリ': '福岡'}

そもそもzip関数は何?という話ですが、zip関数は複数のイテラブルをまとめる関数です。
イテラブルとはfor文で繰り返し可能なオブジェクトのことです。リストやタプルなんかが該当します。そして、このイテラブルをまとめたオブジェクトをイテレータと呼びます。

  • イテラブル
    繰り返し可能なオブジェクト
  • イテレータ
    イテラブルをまとめたオブジェクト

zip関数はzip()の形式になっていて、カッコの中に複数のイテラブルを突っ込むます。
突っ込んだ後、さきほど解説したdict関数でイテレータオブジェクトを辞書化すれば良いということになります。

キーのリスト 値のリスト 合体した後、辞書化
[‘たけし’, ‘さんま’, ‘タモリ’] [‘東京’, ‘和歌山’, ‘福岡’] {‘たけし’: ‘東京’, ‘さんま’: ‘和歌山’, ‘タモリ’: ‘福岡’}

とても便利な関数で、表形式のデータが大量にあるときは重宝しますよ!
後半は辞書というより、別の解説が濃くなりましたが、よく耳にはするが意外に理解していない用語なんかもあるのでは?と思い詳しく説明いたしました。

続く…

 

コメント

タイトルとURLをコピーしました