はい、こんにちは。
最近は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ゲームに似た出力を作るのは楽しい限りである。
コメント