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

無料レッスン

Pythonのリストと辞書

このレッスンのあとで: リストと辞書に値をまとめて入れ、取り出して使うことができる。

60分のレッスンコマンド3件毎日使う Linux コマンドのラボ:エンジニアが暗記している30のコマンド

たくさんの値を1つにまとめる

Python のリストとは、複数の値を順番に並べて、1つの変数に入れたものです。辞書は、名前(キー)で値を引き出せる入れ物です。

友だち10人の名前を、変数10個に分けて書くのは大変です。リストなら1つで足ります。名前から電話番号を引くなら、辞書が向いています。

このレッスンのゴール

メモ

リストと辞書に値をまとめて入れ、取り出して使うことができる。

キーワード

ことばいみれい
リスト値を順番に並べた入れ物[10, 20, 30]
添字リストの何番目かを表す番号。0から始まるnames[0]
スライスリストの一部を取り出すことnums[1:3]
辞書キーと値の組を入れる入れ物{"tea": 150}
キー辞書で値を探すための名前
要素リストや辞書に入っている1つ1つの値

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

リストは角かっこで作り、番号で取り出す

names = ["Aki", "Ben", "Chi"] のように、角かっこの中に、カンマで区切って書きます。len(names) で、要素の数が分かります。

取り出すには、names[1] のように番号を書きます。番号は0から数えるので、names[1] は2番目の "Ben" です。

2番目の名前と、要素の数

コマンド
python3 -c "names = ['Aki', 'Ben', 'Chi']; print(names[1], len(names))"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

例: 番号とスライス

書き方結果意味
nums[0]10最初の要素
nums[-1]50最後の要素
nums[1:4][20, 30, 40]1番から3番まで。4番は含まない
nums[:2][10, 20]先頭から2つ

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

よくある間違い

注意

「リストの最初は1番」と考える人がいます。Python の番号は0から始まります。要素が5つのリストの最後は、5番ではなく4番です。5番を指定すると、エラーになります。

append で足し、for で全部見る

prices.append(60) と書くと、リストの最後に60が足されます。

for price in prices: と書くと、要素が先頭から順に price に入り、下げた行が要素の数だけ実行されます。番号を使わなくても、全部を見られます。

値段を足して合計を出す

コード: python
# 買い物リストの値段を、順に足します。
prices = [120, 80, 250, 90]
prices.append(60)

total = 0
for price in prices:
    total = total + price
print("品数:", len(prices))
print("合計:", total)
# 数を 1 つ足して、もう一度実行しましょう。

append で足したリストを表示する

コマンド
python3 -c "items = ['a']; items.append('b'); print(items)"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

辞書はキーで値を引き出す

price = {"tea": 150, "cake": 300} のように、波かっこの中に、キー: 値 の組をカンマで並べます。

price["cake"] と書くと、キー "cake" の値が出ます。price["pie"] = 280 と書くと、新しい組が足されます。"tea" in price で、キーがあるかが分かります。

キーで値を引き出す

コマンド
python3 -c "price = {'tea': 150, 'cake': 300}; print(price['cake'])"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

辞書で言葉の回数を数える

text.split() は、文字列を空白で切って、言葉のリストにします。

数えるときは、辞書を空で作ります。言葉がすでにキーにあれば、値に1を足します。なければ、値を1で新しく作ります。

例: "a b a" を数えるトレース表

言葉キーにあるかしたこと辞書の中身
aない1で作る{"a": 1}
bない1で作る{"a": 1, "b": 1}
aある1を足す{"a": 2, "b": 1}

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

言葉の回数を数える

コード: python
# ログの言葉を、種類ごとに数えます。
text = "INFO ERROR INFO WARN INFO ERROR"
words = text.split()

counts = {}
for word in words:
    if word in counts:
        counts[word] = counts[word] + 1
    else:
        counts[word] = 1

for key in counts:
    print(key, counts[key])
# text に WARN を 2 つ足して、もう一度実行しましょう。

このラボとソースについて: 毎日使う Linux コマンドのラボ:エンジニアが暗記している30のコマンド

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