バイブコーディングの土台

Day 2データ構造 — AI入出力の正体

リスト/配列 — 順番に並ぶプレイリスト

同じ仲間を順番に一列に並べる入れ物「リスト(配列)」を、プレイリストや行列でつかむ。

まず「たくさんを一つにまとめる箱」から

前回、値をしまう「名前つきの箱」として [[variablclienrequest を学びました。でも、曲を100個しまいたいとき、箱を100個も用意して名前をつけるのは大変です。そこで登場するのが「リスト(または配列)」という、たくさんの物を一列に並べてまとめてしまえる入れ物です。

たとえるなら

リストは音楽の「プレイリスト」です。1曲目、2曲目、3曲目…と順番が決まっていて、上から順に並んでいます。中身(曲)を入れ替えても、追加しても、あくまで「一列に並んだ順番のあるまとまり」であることは変わりません。

リストのいちばん大事な性質は「順番があること」です。プレイリストの1曲目と2曲目を入れ替えたら、流れる順番が変わりますよね。リストも同じで、並び順そのものが意味を持ちます。これは前回ちらっと出てきた [[data-structurclienrequest(データ構造=データの並べ方・しまい方)の、いちばん基本の形です。

TEXT
playlist = ["レモン", "夜に駆ける", "Pretender"]

// イメージ:
// 0番目 -> "レモン"
// 1番目 -> "夜に駆ける"
// 2番目 -> "Pretender"
角カッコ [ ] で囲んで、カンマで区切る。これがリストの基本の見た目。

数えはじめは「0」から

多くの言語で、リストの1つ目は「1番目」ではなく「0番目(ゼロ番目)」と数えます。エレベーターで言えば1階が「0」から始まる感覚です。最初は戸惑いますが、「最初は0」とだけ覚えておけば十分です。AIが作ったコードで list[0] と出てきたら「あ、先頭のことね」と読めます。

箱をバラバラに用意

曲ごとに別々の変数。数が増えると管理不能。

TEXT
song1 = "レモン"
song2 = "夜に駆ける"
song3 = "Pretender"
// 100曲あったら song100 まで…?

リストで一つにまとめる

1本のリストに全部入れる。順番に取り出せる。

TEXT
songs = ["レモン", "夜に駆ける", "Pretender"]
// 何曲あっても songs 1つで扱える

リストがあると、「上から1つずつ順番に処理する」ことができます。これは前回学んだ (処理の流れ)の「くり返し」と相性ばつぐんです。プレイリストを1曲目から順に再生していくのと同じで、「リストの中身を1つずつ取り出して、全部に同じことをする」という書き方は、プログラムでいちばんよく出てくる形です。

  • リスト(配列)= 同じ仲間を一列に並べてまとめる入れ物
  • いちばんの特徴は「順番があること」(プレイリストの曲順)
  • 数えはじめは多くの場合「0」から
  • 1つずつ順番に取り出して処理する、が定番の使い方

AIにはこう頼む

「商品名のリストを受け取って、1つずつ画面に表示するコードを書いて」のように、「リスト」という言葉を使って頼めます。返ってきたコードに [ ] や for(くり返し)が見えたら、「複数のものを順番に扱っているんだな」と読めればOKです。

なぜ大事か

AIやWebサービスが「複数の結果」を返すとき、その正体はほぼ必ずリストです。検索結果10件、おすすめ商品5個、チャットの履歴——全部リスト。この形を知っているだけで、AIの出力が急に読めるようになります。

読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。

理解度チェック

答えられれば、面接で説明できる状態に一歩近づきます。

Q1

リスト(配列)のいちばんの特徴として最も適切なものはどれ?

Q2

多くの言語で songs = ["A", "B", "C"] としたとき、songs[0] が指すのは?

Q3

リスト(配列)とは何か、たとえを使って説明してください。

記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。