【Python3入門編:5 辞書の基礎】Capter05 - 08【Paizaラーニング】
本日の学習記録 181103 14:00 - 14:57
リストを並び替え(ソート)したりして、辞書のキーを活用する。
paiza.jp
Capter05 リストの整列
「sorted」でリストの中身をアイウケオ順にする
list = ["x","y","z"]
リストの作成。["要素"]でlistに格納する。
(前回やった)
print(sorted(list))
「sorted」でアイウケオ順になる。
要素に数字をいれておけば、数字順になる。
「reverse」でリストの中身を逆順にする
print(sorted(list, reverse = True))
語順を逆にしたい場合、「reverse」に「True」値を与えればよい。
漢字の場合、読みではなく文字コード順になるので混ざっているときは注意が必要。
Capter06 辞書の整列
「sorted」で辞書のキーがアイウケオ順になる
print(sorted(Dictionary))
「sorted」を使用すると、1.リスト形式、2.キーの語順、で表示される。
要素は表示されない。
「items」を使用してタプル構造で表示させる。
print(sorted(Dictionary.items()))
辞書の値を表示させる場合は、「items」で値を取り出して、「sorted」に渡してやる必要がある。
そうすると、キーの語順で、値がタプルで表示されるの。
※タプルとはデータ構造の一種で、更新が不可である。
Capter 07,08 RPGのアイテム一覧を再現
表示させる4条件
1.アイテム画像とアイテム名を表示する
2.同じアイテムを複数表示したい
3.アイテムの並び順を管理したい
4.同じアイテムの画像ファイルは1つを共有
辞書とリストを組み合わせる。
1.並び順用のリスト、画像用辞書を用意する。
2.リストから、アイテム名を取得する。
3.画像用辞書のキーにアイテム名をいれ、画像を取得する。
0.リストは並びたい順で作る。辞書はリストの要素をキー、対応する画像を値にして作成。
1. リストにアイテムの名前を順番に入力する。
(ここではクラスメイトの名前に変更)
2.リストは要素を入力された順番に返すので、1つずつ要素のアイテム名を表示させる。
3.順番に返されるアイテム名を画像用の辞書のキーとして入力して、画像を返す。
実際のコード
#氏名の並び順配列
Classmate_member = [kondo,saito,sakamoto]#画像用ハッシュ
Classmate_images ={"kondo":"URL1","saito":"URL2","sakamoto":"URL3"}
Classmete_member(リスト)に表示させたい名前を入力する。
Classmate_images(辞書)にキーがリストの名前、値に対応する画像のアドレスを入力する。
#アイテム名を取り出す
for Classmate_name in Classmate_member:
print(Classmate_images[Classmate_name])
print(Classmate_name)
1行目。「for」でClassmate_nameにClassmate_memberから1つずつ要素(名前)を取り出して代入する。
2行目。辞書にClassmate_nameの要素をキーで指定する。対応する値(画像のURL)を返して表示させる。
3行目。 Classmate_nameに入力されている要素(名前)を表示させる。
これをHTML対応させると下記のコードになる。
#html対応
for Classmate_name in Classmate_member:
print("<img src='" + Classmate_images[Classmate_name] + "'>")
print(Classmate_name + "<br>")
演習問題では、標準入力を用いて、リストから代入する代わりに、順次入力してました。
標準入力よくわかりません。。。