Python3 辞書 とは

はい、こんにちは。

最近はPythonにどハマり中です。

なぜか?
コードが美しい・・・ただただ美しい・・・

それだけです。

ということで辞書のアウトプットをしていきます。

辞書とは?

Rubyでいうハッシュのようなものです。{}内に要素を格納していくのですが、それには特徴があります。

辞書の構造

list = {“キー”:”値”, “キー”:”値”}
と、キーと値を一緒に格納していきます。
dict = {“値を取得するためのキー”:”キーに対応する値(valueともいう)”}

 例

monster = {"弱い":"スライム", "中ボス":"ドラゴン", "ラスボス":"魔王"}

こんな形で辞書に格納し、取り出すときは下記のようになる。

monster = {"弱い":"スライム", "中ボス":"ドラゴン", "ラスボス":"魔王"}
print(monster) #辞書を全て取得

キーを用いて取得したいときは下記のようになる。

monster = {"弱い":"スライム", "中ボス":"ドラゴン", "ラスボス":"魔王"}
print(monster["弱い"]) #キーを用いての取得
=> 'スライム'

このように、呼び出すときに文字列が使えるのも特徴の一つである。

また、登録、更新、削除も簡単にできる。

登録、更新、削除

#登録
monster = {"弱い":"スライム", "中ボス":"ドラゴン", "ラスボス":"魔王"}
print(monster) #全ての辞書を取得。
print(len(monster)) #辞書の個数を取得
#len()で辞書内は3この要素が入っていると判明。
#登録 = 新しく要素を追加する。
monster["真のボス"(これがキー)] = "真の魔王"(これがvalue。値ともいう。)
print(len(monster)) #辞書の個数を確認
=> 4とあれば正しく登録できている。
#更新(変更)
monster = {"弱い":"スライム", "中ボス":"ドラゴン", "ラスボス":"魔王"}
print(monster)
monster["弱い"]="プリン"
print(monster["弱い"])
=> "プリン" #辞書内のキーと一致している値を更新した。
#削除
monster = {"弱い":"スライム", "中ボス":"ドラゴン", "ラスボス":"魔王"}
print(monster) #辞書を取得
print(len(monster) #辞書の個数を確認
del monster["弱い"] #削除。[キー]で指定する
print(monster) #削除後の辞書を取得
print(len(monster) #削除後の辞書の個数を取得

ループ処理と辞書

前回ループ処理をアウトプットしましたが、ループ処理に辞書を使ってみる。

monster = {"弱い":"スライム", "中ボス":"ドラゴン", "ラスボス":"魔王"}
for i in monster: #monsterという変数のキーを[i]で指定。
print(monster[i]+"があらわれた!") #monsterの中の[キー]を持っているもの全て取得
=> スライムがあらわれた!
ドラゴンがあらわれた!
魔王があらわれた!

上記は値の取得のみだが、キーと値を取得する方法もある。

monsters = {"ザコ":"スライム", "中ボス":"ドラゴン", "ラスボス":"魔王"}
for (i, monster) in  monsters.items(): #引数として(i, monster)を与えた。monstersという辞書のキーと値に相当する。
print(str(i)+"の"+str(monster)+"あらわれた!")
#キーを(i)で取得し、値を(monster)で取得している。
# 実行結果
=>
ザコのスライムあらわれた!
中ボスのドラゴンあらわれた!
ラスボスの魔王あらわれた!

となる。

RPGゲームに似た出力を作るのは楽しい限りである。

コメント

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