アニメスターです。
今回は「Chapter2のPythonの基本文法」の範囲を取り扱いたいと思います。
コチラは前回の記事の続きとなっています。

進捗結果と感想

進捗
2.1「リスト型」
2.1.1 リスト型➀ →buleをスペルミス
2.1.2 リスト型➁
 
2.1.3 リスト in リスト
2.1.4 リストから値を取り出す
2.1.5 リストからリストを取り出す(スライス)→リスト(end-1)を失念
2.1.6 リストの要素の更新と追加
2.1.7 リストからの要素の削除
2.1.8 リスト型の注意点
2.2「辞書型」
2.2.1 辞書型
2.2.2 辞書の要素を取り出す →キーは変数であることを失念、
2.2.3 辞書の更新と追加 →四則演算と混同。辞書型の編集は[ ] 2.2.4 辞書の要素の削除
2.3「while文」
2.3.1 while文➀
2.3.2 while文➁
2.3.3 while + if
2.4「for文」
2.4.1 for文
2.4.2 beak
2.4.3 continue
2.5「Appendix」
2.5.1 for文でindex表示
2.5.2 リスト in リストのループ
2.5.3 辞書型のループ
結果
難易度、正答率、時間
★★☆、85.7%、1~1.5時間

for関数に少し足踏みした感じでした。
まぁfor関数自体を掴んでからは理解がグッと早まりましたが、辞書型との組み合わせとか忘れそうです。
というか、辞書型は分かりやすいって言えば分かりやすいのですが、扱いが面倒です(笑)
「リストのインデックス番号じゃダメなんか・・・」とか思いますが、まぁ、実際で使うとすれば辞書型がいいのでしょうね。
今は量が少ないのでそう感じますが、大量のデータになればキーの方が人間的には分かりやすいですもんね・・・。

それにしてもスモールステップでやれて良い感じです。
私はブログを書くため、途中途中で、記録やら休憩を取っていたので1.5時間かかりましたが、1時間でも、理解が早い人であれば30分とかでできるのかもしれませんね。

Pythonの学習メモ

では前回と同様に、学習したことをメモしておきます。

リストの操作

リスト要素追加の操作」

 >script.py
  A=[1,2,3,4,5]   print(A)

  A+=[6]   print(A)

 >コンソール
  1,2,3,4,5
  1,2,3,4,5,6

タイトル
「リスト要素削除の操作」
del
>script.py
A=[1,2,3,4,5] print(A)
del A[1] print(A)

>コンソール
1,2,3,4,5
1,3,4,5

→「リストのコピー」
リストの変数を作る(例えばコピーなど)する際、変数への操作をリストの要素に加えないようにする操作。「:」を使う。

用例
 >script.py
  A=[1,2,3,4,5]   A_copy=A[:]   A_copy+=[6]   print(A_copy)
  print(A)

 >コンソール
  1,2,3,4,5,6
  1,2,3,4,5

※del A[1]は、「リストAの2番目の要素を削除するという意。リスト要素は0から数えるので、リスト要素2番目は2

辞書型は、リスト型のインデックス番号に名前をつけられる

リスト型のインデックス番号は、要素の左から順番に「0,1,2…-1」と割り振られていた。
しかしインデックス番号を数えるのが面倒だったりする場合、名前を付けた方が早いと思った時に、辞書型を使う。
辞書型は、リスト型とは違い、[ ]ではなく、{ }で囲む。
また、インデックス番号(キー)を自由にできるが、「:」で繋ぐ必要がある。

 >script.py
  A={“apple”:1,”orange”:2}
  print(A)

  >コンソール
  apple:1 , orange:2

for関数

リストにおける要素群に対する処理を繰り返すことができる変数を生み出す関数
「 for ループ引数名 in リスト名: 」で示す。


 >script.py
  A=[“apple”,1,”orange”,2]   for a in A:
  print(a)
 >コンソール
  “apple”,1 ,”orange”,2

aというループ因数は、Aという要素群に対してprintの処理を、要素が尽きるまで出力させる役割になっている。
「if+条件式:break」や「if+条件式:continue」で範囲を制御できる。
break…ループの中断、continue…ループのスキップ

ループ制御の例
 >script.py
  A=[1,2,3,4,5,6]   for a in A:
if a ==4:
break
   print(a)
B=[1,2,3,4,5,6,7,8] for b in B:
if b%2==0:
continue
print(b)
 >コンソール
 1,2,3,4
 1,3,5,7
注意
ループ処理を行うリストの要素が、リストである(リストinリスト)時、ループ引数名は、リストin リストにおける、要素リストの数ではなく、リストの中の要素の数分に合わせなくてはならない。従って以下の例で要素リストは3つあるが、そのリストの中の要素は2つであるので、ループ引数名は2つにする。

  >script.py
   fruits = [[“strawberry”, “red”],
     [“peach”, “pink”],
    [“banana”, “yellow”]]   for a,b in fruits:
  print(a +” is “+ b)

  >コンソール
  strawberry is red
  peach is pink
  banana is yellow

注意
辞書型におけるキーとバリューにもループをかけたい場合、末尾に「.items()」を用いる。
  >script.py
  A={A:1,B:2}
  for a,b in A.items().
  print(a,b)
  >コンソール
  A 1 , B 2

enumerate関数

list型の変数を出力する際、各要素に対し、インデックス番号を付属させる関数。具体的には、for関数でlist型の変数をループさせる際、インデックス番号を同時に出力したい場合に用いる。
ただしenumerate関数を用いる場合、ループ引数名は2点必要になる。
すなわち、下の例で言えば、「a」だけでなく、「b」も必要になる。
これは、インデックス番号がint型であるが、list型の要素がstr型の場合もあるため、変形処理を行わなければいけないためである。


  >script.py
   A=[“ apple ”,” orange ”]    for a,b in enumerate(A):
   print(“index:”+str(a),b)

  >コンソール
   index:1 apple
   index:2 orange

次回の課題

次回は関数の基礎まで走り切りたいですね…。
Aidemyをやる労力よりも、記事をおこす方が労力かもしれません(笑)

でも楽しくやれるのもブログで書いているためかもしれませんし、なにより頭が整理されるので、いいのですけど(笑)

にほんブログ村 IT技術ブログ Pythonへ

コメントを残す

ABOUTこの記事をかいた人

内定辞退した2018卒の大学生投資家。 「お金だけのための就職」が嫌でした。 「好きで生きるため」情報発信。 ***月間読書量3~8冊を頼りに経済自由を*** ***米株、節約術、統計学やアニメ好き***