LoginSignup
0
0

More than 1 year has passed since last update.

リストと辞書型 (小学生高学年向け・python)

Posted at

リストの使い方まとめ + dictionary(辞書)型

皆さん電子辞書って持ってますか?先生は高校入学と同時に買ってもらった覚えがあります。 900_2.jpeg

あれ、今のはどうかわかんないですが、昔のヤツでOS(パソコンのベースになるソフト)を入れて、いろいろ遊ぶことができたんですよ。ファミコン(知ってる?)世代のゲームを入れて授業中遊んだり、よくやってました。今はもう電子辞書どころかタブレットを配ってるわけですから、すげー時代になったもんだと思うわけです。ただ、そんなことばっかしてるとリッキーみたいになっちゃうよ。

リストってなんだっけ

次のコードを見てみましょう。単純に変数の中身を表示していますが、varという変数に、5と10の数字が代入されているのに、10しか表示されていません。

var = 5 # varに5を代入
var = 10 # varに510を代入

print(10)
# 実行結果:10

さて、変数の復習です。変数は小さい箱のイメージなのは、はるか昔にやりました。変数は、小さい箱なので、1つのデータしか入れる(代入する)ことはできません。なので、上のコードのように新しいデータを入れようとすると、古いデータは消えてしまいます。
1-1.png

これじゃ不便なときもありますよね。一つの変数にいくつもデータを入れることができたら、便利だよねーといって生まれたのが、リストというデータ型です。


リストの基本

リストの基本は超簡単。[]大かっこでくくって、 , カンマで区切る。

リストの書き方(宣言)

変数名 = [要素0,要素1,要素2,要素3,要素4......]

リストからデータを持ってくる

変数名[インデックス番号]

要素の番号をインデックス番号といいます。

# ricky_senseiリストを作成
ricky_sensei = ["イケメン", "かっこいい", "ステキ"]
# リストの1番目を持ってくる
print(ricky_sensei[1])
# 実行結果:かっこいい

インデックス番号が0から始まるのは、もう何回もやってるのでみんなわかって、、、ますよね??(圧)
忘れてる方は、いくつか適当なリストを作って中身を表示してみましょう。


リストとfor文の相性はバツグン

すでに学習したfor文の基本を思い出してみましょう

# 10回「リッキー先生はイケメン」と表示するプログラム
for i in range(10):
    print("リッキー先生はイケメン")

このrange(10)を、作成したリストに置き換えてみます。

ricky_sensei = ["イケメン", "かっこいい", "ステキ"]
for i in ricky_sensei:
    print(i)
# 実行結果:イケメン かっこいい ステキ

このようにリストとfor文を組み合わせることで、リストの中すべての要素に、順番に同じ処理を行うことができます。

数字のリストだと次のようなことができます。

すべての要素に1を足すプログラム
number_list = [13, 4, 2, 8]
for i in number_list:
    print(i + 1)
# 実行結果:14 5 3 9

リストの小技 基本編

リストでよく使う小技をまとめます。
①リストの要素を書き換える(上書き)
要素の書き換えはかんたん!

変数名[変更したい要素のインデックス番号] = 新しく入れたい要素

例えばこんなかんじ

ricky_sensei = ["イケメン", "かっこいい", "ステキ"]
# 0番目の要素を「超イケメン」に変更
ricky_senisei[0] = "超イケメン"
print(ricky_sensei)
# ※printでリストを表示すると、カッコつきで全体が表示される。
実行結果["超イケメン", "かっこいい", "ステキ"]

②リストどうしの足し算
リスト同士は足し算して連結することができます。

ricky_kao = ["イケメン", "かっこいい", "すてき"]
ricky_seikaku = ["やさしい", "明るい"]
# リスト同士を足し算
print(ricky_kao + ricky_seikaku)
# 実行結果;['イケメン', 'かっこいい', 'すてき', 'やさしい', '明るい']

どうしてもリストの中身が気に入らないという人は、要素を変えてやってみたらいいんじゃない?やれるもんならね!!(圧)


リストの小技 応用編

応用編といっても、pythonにもとからあるリストの機能を使うだけです。
①リストに新しく要素を追加(一番うしろに追加)
「やべ!これ入れるの忘れてた!」みたいなときに、一番うしろに追加する方法

ricky_sensei = ["イケメン", "かっこいい", "すてき"]
# 「ハンサム」を追加
rickky_sensei.append("ハンサム")

print(rickyu_sensei)
#実行結果:["イケメン", "かっこいい", "すてき", "ハンサム"]

辞書型(dict型)

リストに似たデータ型の一つに辞書型というのがあります。リストはインデックス番号でデータを管理していましたが、辞書型では数字以外にも、文字列などで管理することができます。
たとえば、クラスの生徒のイケメン度を記録しておきたいときなどに、リストではなく辞書型を使うと便利です(最低w)

# クラスのイケメン度データ  
ikemendo = {"Aくん": "ふつう", "Bくん":"ぶさめん", "リッキー":"イケメン"}
# データを持ってくるときはインデックス番号ではなくデータで呼び出す
print(ikemendo["Aくん"])

「Aくん」というデータに「ふつう」というデータが紐付いているので、Aくんのデータを持ってくるときはikemendo["Aくん"]とします。このAくんにあたるのが「キー」、「ふつう」にあたるのが「値」と呼ばれます。
辞書型の特徴として、以下のものがあります。

①「順番」の概念がないので、ikemendo[0]などとしてもエラーになる
②ただし、for文を使ってリスト同様に全体に処理をすることができる。

用途によって、リストと辞書型を使い分けて行きましょう。


宿題

①5つのランダムな数字を、numbersという変数名のリストに入れてください。
②そのリストの中身全てを5倍して、全てを表示してください。
③最後にそのリストに、数字を一つ何でもいいので追加してください。

④キーが人の名前、値が誕生日の辞書(3人分)を作ってください。名前や誕生日は自由です。変数名はbirthday(バースデー)にしてください.そのなかの一人の誕生日を表示してください。


プログラムはそれぞれ paizaのサイト で実行しましょう。
しっかり復習してね!ではまた来週!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0