第23回【Python】要素数の出力、全要素の出力、i 番目の出力

2023年3月3日

現在取り組んでいるのは、paiza ラーニング問題集「配列メニュー」になります。

はじめに

猫とキャンプと野球観戦と AWS が大好きな旦那、LeoSaki です。モフモフしたい。

Python をゼロから勉強してみよう、のコーナー 23 回目です。

今回から「配列メニュー」です。なんにつけても配列の扱いは重要。いかに配列を上手く処理するかは永遠の課題だと思っている。

それでは、今日も頑張ってみようと思います。

要素数の出力

以下の数列の要素数を出力してください。

5 1 3 4 5 12 6 8 1 3

入力は与えられず、ただただ与えられた数列の要素数を出力しろ、という問題。目視で数えて、10個あるのだから、print(10) ではもちろんダメですよね。

Python
L = [5, 1, 3, 4, 5, 12, 6, 8, 1, 3]
print(len(L))
VBA
L = Array(5, 1, 3, 4, 5, 12, 6, 8, 1, 3)
Debug.Print UBound(L) - LBound(L) + 1

全要素の出力

以下の数列の全要素を改行区切りで出力してください。

5 1 3 4 5 12 6 8 1 3

今度も入力は与えられず、ただただ与えられた数列の全要素を出力しろ、という問題。

Python
L = [5, 1, 3, 4, 5, 12, 6, 8, 1, 3]
print(*L,sep="\n")

きちんと配列を扱う学習を行うのであれば、ループで回した方が良いのだろうか。

Python
L = [5, 1, 3, 4, 5, 12, 6, 8, 1, 3]
for l in L:
    print(l)
VBA
L = Array(5, 1, 3, 4, 5, 12, 6, 8, 1, 3)
For Each ele In L
    Debug.Print ele
Next

i 番目の出力

以下の数列の 4 番目の要素を出力してください。

5 1 3 4 5 12 6 8 1 3

i 番目は標準入力からではなく、指定されているのですね。そうなると、4 番目の数字は 4 なのだから、print(4) ではダメですね。やっぱり。

Python
L = [5, 1, 3, 4, 5, 12, 6, 8, 1, 3]
print(L[3])

配列の添字は 0 から始まることにだけ注意していれば、何も難しくないはず。

VBA
L = Array(5, 1, 3, 4, 5, 12, 6, 8, 1, 3)
Debug.Print L(3)

VBA でも同じ。大カッコか小カッコかの違いくらい。

最後に

さすがに序盤も序盤、簡単すぎました。

しかし、要素を添字無しで出力する方法とか、逆に添字を利用して出力する方法とか、きちんと理解して扱えるようになっておかないと、今後の学習に差し支える予感です。

まだしばらくは簡単な問題が続きそうなので、きちんと理解して学習を進めたいと思います。

引き続き、よろしくお願いいたします!

PythonPython,paiza,学習

Posted by LeoSaki