6. まとめたデータ(リスト、辞書)
複数のデータを一つにまとめてみましょう。
データが複数あるとき、一つずつ変数を作ると大変ですよね?
リスト(配列)を使えば、データを便利にまとめて管理できますよ。
何もない空のリストを最初に作るときは、『空のリスト』を【リスト】の[]にしようのようにタイプを明記する必要があります。
まとめたデータを作るときは、【(タイプ)リスト】や【(文字列, 数字)辞書】のように、中に入るタイプをあらかじめ決めるジェネリクス(Generics)を使うことができますよ!
『果物』を【(文字列)リスト】の【「りんご」,「ぶどう」,「バナナ」】にしよう
枠「果物のリスト:{『果物』}」を出力しよう
リストへの追加と取り出し
作られたリストの前後に新しい値を追加したり、取り出したりすることができます。
『果物』を【(文字列)リスト】の【「りんご」,「ぶどう」】にしよう
(参考)新しい果物を追加してみましょうか?
『果物』の前に「バナナ」を追加しよう
『果物』の後に「スイカ」を追加しよう
(参考)果物を取り出してみますね!
『果物』の前から取り出そう
『取り出した果物』を【文字列】の『果物』の後から取り出した値にしよう
枠「残りの果物の数:{『果物』の長さ}」を出力しよう
枠「1番目の果物:{『果物』の1番目の値}」を出力しよう
何番目の値を持ってくるか数字を直接書かずに、変数や数式を使うこともできますよ!
『果物』を【(文字列)リスト】の【「いちご」,「スイカ」,「メロン」】にしよう
『インデックス』を【数字】の2にしよう
枠「選んだ果物:{『果物』の『インデックス』番目}」を出力しよう
枠「その次の果物:{『果物』の(『インデックス』+1)番目}」を出力しよう
名札があるまとめ、辞書 (Dictionary)
名札と値をペアにして保存したい時は、辞書(キーと値のペア)を使います。
ジェネリックを使うと【(キータイプ, 値タイプ)辞書】のように厳密に管理できてとても便利ですね。
『点数』を【(文字列,数字)辞書】の{「国語」:90,「数学」:80}にしよう
枠「国語の点数:{『点数』の「国語」}」を出力しよう
辞書にある値を後から修正することもできます。数学の点数を10点もっと上げてみましょうか?
『点数』を【(文字列,数字)辞書】の{「国語」:90,「数学」:80}にしよう
『点数』の「数学」に10を足そう
枠「上がった数学の点数:{『点数』の「数学」}」を出力しよう
ないデータを取り出そうとするとどうなるでしょうか?
リストに果物が3つしかないのに5番目の果物をちょうだいと言ったり、辞書にない情報をちょうだいと無理を言うとどうなるでしょうか?直接エラーを出してみましょう!
『果物』を【(文字列)リスト】の【「りんご」,「ぶどう」】にしよう
(参考)果物が2つしかないのに100番目の果物をちょうだいと言ってみますね!
『果物』の100番目の値を出力しよう
このコードを実行すると“IndexOutOfBoundsError: リストの長さを超えた位置(インデックス)です。”というエラーが発生します。
辞書も同じですよ。
『情報』を【(文字列,文字列)辞書】の{「名前」:「山田太郎」}にしよう
(参考)情報にない「職業」について聞いてみますね!
枠「職業は{『情報』の「職業」}です。」を出力しよう
これだと“KeyError: 辞書から ‘職業’ という名前を見つけることができません。”と教えてくれます。データを取り出すときは、必ずあるデータなのか先に確認しないといけませんね!