てっぱんPython無料講座!リストを使ったデータの扱い方解説【#8】

てっぱん
てっぱん

プログラムには独特な考え方が色々あるけど、今回紹介するリストというのは特に独特だ。

焼きグリコ
焼きグリコ

え、、それはこわいですねぇ。。

てっぱん
てっぱん

大丈夫、独特なだけで難しくは決してない!基礎から解説していくから頑張って乗り切ろう。

ベビたこ
ベビたこ

そうだよ。グリコちゃん、ここを乗り切ればある意味プログラミングの基礎が固まるってことさ!

てっぱん
てっぱん

すごい、僕が言いたかったこと先に言われた!!

リストってなに?

たくさんのデータを扱う場合、前回まででやった変数と似ているけど、ちょっと違う「リスト」というのを使うんだ。

「リスト」は一言で言うと、変数という箱を繋げた列車のようなものだよ。

番号付きの箱で、前から4番目に「おはよう」と言った文字列が入っているという状態を作り出すことができるんだ。

リストの書き方

実際にリストをプログラムとして書いていくのがわかりやすいと思う。

リストの書き方はこんな感じ。

Lunch = [“おにぎり”、 “サンドイッチ”, “ラーメン”, “そば”]

Lunchという名称のリストを作っている形だね。

“おにぎり”などの箱の中身のことを、「要素」という呼び方もする。

今回の例なら要素数は4。数えるときは0から始まるから気をつけてね。

焼きグリコ
焼きグリコ

0から始まるっていうのはどういうことですか?

てっぱん
てっぱん

”おにぎり”を呼び出したい時は、Lunch[0]という書き方をするってことだよ。

焼きグリコ
焼きグリコ

あ、普通に数えるときは”おにぎり”は一番目にあるから1としそうなのに違うんですね!

ベビたこ
ベビたこ

どうして、1番目なのに0なの?

てっぱん
てっぱん

パソコンの場合、数字は必ず0から始まるんだ。

僕たちの世界では0は何もないを表すけど、パソコンの世界では0も立派な一つの数字って解釈するってわけ。

リストの中身

リストの中身は最初に決めた形であれば、自由に変更できるんだ。

例えば、Lunch = [“おにぎり”、 “サンドイッチ”, “ラーメン”, “そば”]とリストを定義した場合は、リストの中身はString型であれば自由に変更できるってわけ。

つまり、Lunch[0] = “カップ麺”というプログラムを書けば、

リストはLunch = [“カップ麺”、 “サンドイッチ”, “ラーメン”, “そば”]となるわけだ。

注意点は最初に決めた型は変えられないってところ。

だから、Lunch[0] = 5なんてしても、エラーとなるんだ。

どうしても数値をリストで持ちたい場合は、

Numbers = [5, 6, 4, 3, 10, 5]のようにしなければいけないってわけ。

ベビたこ
ベビたこ

数字をリストで持ちたいってことあるの?全部変数で持てばいいんじゃないの?

てっぱん
てっぱん

すごく良い観点の質問だ!

確かに変数で持つことも可能だけど、データが多くなると管理が大変になるんだ。

例えば、生徒一人一人の国数英社理の5科目のテストの結果を保存しようと思ったとする。

変数だと、

seito1_koku = 85

seito1_su = 75

seito1_ei = 90

seito1_sya = 45

seito1_ri = 95

という感じで、生徒数×5の変数が必要になる。

ただ、これをリストにすると

seito1_test = [85, 75, 90, 45, 95]

と一行で書くことができるし、数も生徒数分で済むんだ。

リストは変数をまとめて持ってくれるイメージで、楽をさせてくれる存在なんだよ。

おみくじプログラムのリスト解説

以前やったおみくじのプログラムにもリストが使われていたよね。

リストがわかった今、そのプログラムの意味もわかると思う。

import random

kuji = [“大吉”, “中吉”, “吉”, “凶”]

print(random.choice(kuji))

というプログラムだったね。

Importについては今回は無視して、その後に出てくるリスト。

これは文字列をkujiというリストで持っている形だ。

例えば、kuji(0)とやった場合、何が出てくるかわかるかな?

そう、”大吉”が出てくる。

同様に、kuji(2)だったら”吉”、kuji(3)だったら”凶”となる。

最後のprintは表示するって意味だった。その中のrandom.choice(kuji)が問題だね。

このプログラムの意味は、「kujiというリストからランダムに一つを選択してください」だよ。

つまり、kujiリストからテキトーに一つの文字列を選出するってわけ。

ランダムになっているから、プログラムを実行するたびに、kujiのリストからランダムに結果が選出されて大吉だったり、凶になったりするってことだ。

焼きグリコ
焼きグリコ

ふと気になったんですが、ランダムってどうやって決めているものなんですか?

人間の場合指が止まったところとかで決めたりできそうですが

てっぱん
てっぱん

実はパソコンは完璧なランダムってのが苦手なんだ。

だから、時間をうまく使ってランダムな数字を作っていることが多いよ。

例えば、現在の分数×秒数とかやってね。

焼きグリコ
焼きグリコ

それだと、どこかのタイミングで全く同じランダム数字が出ることありませんか?

てっぱん
てっぱん

その通り!

だけど実際にそれが全く同じ計算式で出てきたランダムな数字かは

パソコンを見ている僕たちからはわからないってわけさ。

まとめ

てっぱん
てっぱん

今回はデータを扱う上で欠かせないリストを紹介してきたわけだけどどうだった?

ベビたこ
ベビたこ

変数にめちゃくちゃ似てるからわかりやすかったかな

焼きグリコ
焼きグリコ

私は0のところが慣れなさそうだったので、復習しておきます!

てっぱん
てっぱん

プログラミングぐらいでしか、始まりが0ってのはないから

ちゃんと覚えておくと逆にこれからが有利になるから頑張って!

てっぱん
てっぱん

次回はプログラミングのルール三つの基本を押さえていくよ!

おすすめのプログラミングマンツーマン塾

てっぱん
てっぱん
マンツーマンだから、みんなの前では聞けないことも聞けちゃう!! 今なら無料体験もあるよ!!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA