#学習記録(6日目)
勉強開始:12/7(土)〜
使用書籍:大重美幸『詳細! Python3 入門ノート』(ソーテック社、2017年)
【条件分岐、繰り返し、例外処理(Ch.5 / p.129)】 から再開(4日目)、
【リストの要素を並び替える(Ch.6 / p.170)】 まで終了(6日目)
###elseブロックがあるfor文
while文と同様に、繰り返しが終了した時点でelseブロックが実行される。
for文が途中でbreakした場合については実行されない。
###try文(例外処理)
想定されるエラーをあらかじめ例外処理することで、途中でbreakせず最後まで処理を行う。
try 〜 except で例外オブジェクトについて組み込む。except以下は複数定義することが可能。
asで定義することで、例外オブジェクトを他の変数で参照することもできる。
###リストを作る
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
words = ["flowers", "snow", "moon"]
mixture = [1, 2, "flowers", 3, 5] #要素の型は混在できる。
num = [0] * 5 = [0, 0, 0, 0, 0]
list() を使うことで、他の型の値をリスト変換することが可能。
list(range(-5, 6)) と打つと、指定範囲の値が入ったリストになる。(この場合、-5 〜 6)
list("ABCDE") と打つと、"A", "B", "C",・・・のように、一文字ずつ分割される、
###リストの要素参照と更新
words = ["flowers", "snow", "moon"]
words[1] と打つと、リストの1番目である"snow"が出力される。
words[1] = "wind" と打つと、"snow"が"wind"に置換される。
len()でリストの長さである要素の個数を調べることができる。
len(words)なら3、ただし、インデックス番号は0から始まるので、例えばword[3]などはエラーが出る。
###リストに要素を追加、挿入
append(値)で追加する。リストオブジェクトのメソッドなので、あらかじめリストを用意する必要がある。
insert(位置, 値)で挿入する。挿入場所はインデックス番号に準ずる。
pop(抜き取る位置)で抜き取る。popは削除と同時に削除した値を返すので、箱から出すイメージ。
removeは削除する。削除したい値が複数の場合は、最初に見つけた値のみ削除する。
すべて消す場合はwhile文等と組み合わせる。
###文字列とリストの相互変換
文字列.split(セパレータ)で分割する。
セパレータとは文中において、分割基準となるもの(と理解した。)
usa = "yes we can"であれば、words = usa.split()と打つことで、文字間の空白を基準として
各単語に分割される。usa = "yes, we, can"であれば、usa.split(,)がセパレータとなる。
空白やカンマが混在している場合はreplaceなどで置換すると対応できる。
(セパレータ).join(リスト)で、リストの各要素をセパレータで結合できる。
AMERICA = OBAMA.join(usa)と打つと、AMERICA = "YES OBAMA WE OBAMA CAN""のようになる。
###リストの連結、スライス、複製、比較
+演算子でリスト同士連結できる。extend()でも結合できる。
appendが要素の追加であるのに対し、extendはリストそのもの。
EEIAA = ["kimi", "kara", "morainaki"]
EEIAA[1:] で ["kara", "morainaki"]
EEIAA[:2] で ["kimi", "kara", "morainaki"]
ここらへんは、先取った機械学習のデータ前処理で結構見る機会が多かった気がする。
それぞれに名前を定義することで、リスト分割ができる。