Kanade Logoカナデ Kanade

6. まとめたデータ(リスト、辞書)

複数のデータを一つにまとめてみましょう。

データが複数あるとき、一つずつ変数を作ると大変ですよね? リスト(配列)を使えば、データを便利にまとめて管理できますよ。 何もない空のリストを最初に作るときは、『空のリスト』を【リスト】の[]にしようのようにタイプを明記する必要があります。 まとめたデータを作るときは、【(タイプ)リスト】【(文字列, 数字)辞書】のように、中に入るタイプをあらかじめ決めるジェネリクス(Generics)を使うことができますよ!

『果物』を【(文字列)リスト】の【「りんご」,「ぶどう」,「バナナ」】にしよう
枠「果物のリスト:{『果物』}」を出力しよう

リストへの追加と取り出し

作られたリストの前後に新しい値を追加したり、取り出したりすることができます。

『果物』を【(文字列)リスト】の【「りんご」,「ぶどう」】にしよう

(参考)新しい果物を追加してみましょうか?
『果物』の前に「バナナ」を追加しよう
『果物』の後に「スイカ」を追加しよう

(参考)果物を取り出してみますね!
『果物』の前から取り出そう
『取り出した果物』を【文字列】の『果物』の後から取り出した値にしよう

枠「残りの果物の数:{『果物』の長さ}」を出力しよう
枠「1番目の果物:{『果物』の1番目の値}」を出力しよう

何番目の値を持ってくるか数字を直接書かずに、変数や数式を使うこともできますよ!

『果物』を【(文字列)リスト】の【「いちご」,「スイカ」,「メロン」】にしよう
『インデックス』を【数字】の2にしよう

枠「選んだ果物:{『果物』の『インデックス』番目}」を出力しよう
枠「その次の果物:{『果物』の(『インデックス』+1)番目}」を出力しよう

名札があるまとめ、辞書 (Dictionary)

名札と値をペアにして保存したい時は、辞書(キーと値のペア)を使います。 ジェネリックを使うと【(キータイプ, 値タイプ)辞書】のように厳密に管理できてとても便利ですね。

『点数』を【(文字列,数字)辞書】の{「国語」:90,「数学」:80}にしよう
枠「国語の点数:{『点数』の「国語」}」を出力しよう

辞書にある値を後から修正することもできます。数学の点数を10点もっと上げてみましょうか?

『点数』を【(文字列,数字)辞書】の{「国語」:90,「数学」:80}にしよう
『点数』の「数学」に10を足そう

枠「上がった数学の点数:{『点数』の「数学」}」を出力しよう

ないデータを取り出そうとするとどうなるでしょうか?

リストに果物が3つしかないのに5番目の果物をちょうだいと言ったり、辞書にない情報をちょうだいと無理を言うとどうなるでしょうか?直接エラーを出してみましょう!

『果物』を【(文字列)リスト】の【「りんご」,「ぶどう」】にしよう
(参考)果物が2つしかないのに100番目の果物をちょうだいと言ってみますね!
『果物』の100番目の値を出力しよう

このコードを実行すると“IndexOutOfBoundsError: リストの長さを超えた位置(インデックス)です。”というエラーが発生します。

辞書も同じですよ。

『情報』を【(文字列,文字列)辞書】の{「名前」:「山田太郎」}にしよう
(参考)情報にない「職業」について聞いてみますね!
枠「職業は{『情報』の「職業」}です。」を出力しよう

これだと“KeyError: 辞書から ‘職業’ という名前を見つけることができません。”と教えてくれます。データを取り出すときは、必ずあるデータなのか先に確認しないといけませんね!

プレイグラウンド (Playground)

ターミナル
コードを書いて「実行」ボタンを押してください。