freshmilk2018のブログ

プログラミング初心者の学習記録。

【Python3入門編:5 辞書の基礎】Capter05 - 08【Paizaラーニング】

本日の学習記録 181103 14:00 - 14:57

リストを並び替え(ソート)したりして、辞書のキーを活用する。
paiza.jp

 

Capter05 リストの整列

「sorted」でリストの中身をアイウケオ順にする

list = ["x","y","z"]   

リストの作成。["要素"]でlistに格納する。

(前回やった)

freshmilk2018.hatenablog.com

 

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>")

 

演習問題では、標準入力を用いて、リストから代入する代わりに、順次入力してました。

標準入力よくわかりません。。。