クリーム色の背景、色付き表示、高コントラスト、大きな文字のほうが読みやすいですか?配色と文字を選ぶと、すべてのページに一度で反映されます。

無料レッスン

リストで項目を順番に持つ

このレッスンのあとで: リストに項目を入れて、書きかえることができる。

45分のレッスンコマンドなし

今日届いた荷物は何個ですか

大阪の物流会社の配送センターでは、毎朝たくさんの荷物が届きます。

伝票番号を一つずつ別の変数に入れると、何百個も変数が必要です。

プログラムでは、番号をまとめて一つの入れ物に入れます。このレッスンでは、その入れ物の使い方を学びます。

このレッスンのゴール

メモ

リストに項目を入れて、書きかえることができる。

キーワード

ことばいみれい
リスト値を順番に並べて持つ入れ物です。["OS-1201", "OS-1202"]
要素リストに入っている一つ一つの値です。
インデックス要素の場所を表す番号です。0から数えます。parcels[0]
len要素の数を返す関数です。len(parcels)
append最後に要素を追加する命令です。parcels.append("OS-1205")

学生が入力するセルは、このプレビューでは空白です。

名前は英語、表示は日本語

ヒント

コードの中の変数名や関数名は、parcels のように英語で書きます。日本の開発チームでも、これがふつうです。コメントと、画面に出す文字は日本語で書きます。

リストはインデックスで読む

リストは [ と ] でかこみ、要素をコンマで区切ります。

要素を読むときは、parcels[0] のようにインデックスを書きます。インデックスは1ではなく、0から始まります。

同じ書き方で、要素を書きかえることもできます。

やってみよう: 伝票番号を読む

コード: python
# 今日、大阪の配送センターに届いた荷物の伝票番号です。届いた順に並んでいます。
parcels = ["OS-1201", "OS-1202", "OS-1203", "OS-1204"]

print("最初の荷物:", parcels[0])
print("3番目の荷物:", parcels[2])
print("荷物の数:", len(parcels))

# 2番目の伝票番号を、書きまちがえていました。正しい番号に直します。
parcels[1] = "OS-1210"
print("直したあと:", parcels)

# parcels[2] を変えて、4番目の荷物を表示してみましょう。

追加、削除、くり返し

append は、リストの最後に要素を足します。remove は、指定した値の要素を外します。pop() は、最後の要素を取り出して返します。

for を使うと、要素を一つずつ順番に処理できます。現場では、注文や荷物の一覧をこの形でよく扱います。

やってみよう: トラックの荷物

コード: python
# トラック1台に積む荷物のリストです。
truck = ["冷蔵庫", "洗濯機", "電子レンジ"]

truck.append("エアコン")      # 新しい荷物は、最後に入ります
print("append のあと:", truck)

truck.remove("洗濯機")        # 配達が取り消しになった荷物を外します
print("remove のあと:", truck)

last = truck.pop()            # pop() は、最後の要素を取り出します
print("pop で出した荷物:", last)
print("残り:", truck)

# for で、一つずつ確認します。
for item in truck:
    print("積みこみ確認:", item)

# for の前に truck.append("テレビ") を足して、もう一度実行しましょう。

例: 操作ごとのリストの変化

操作そのあとのリスト要素の数
はじめ冷蔵庫, 洗濯機, 電子レンジ3
append("エアコン")冷蔵庫, 洗濯機, 電子レンジ, エアコン4
remove("洗濯機")冷蔵庫, 電子レンジ, エアコン3
pop()冷蔵庫, 電子レンジ2

学生が入力するセルは、このプレビューでは空白です。

よくある間違い

注意

「3番目の要素は parcels[3]」と考える人が多くいます。インデックスは0から数えるので、3番目は parcels[2] です。人が数える番号から1を引くと、インデックスになります。

授業で使いますか?このモジュールを学生に割り当てると、教員用ガイド、自動採点つきの課題、学生ごとのラボを使えます。