Pythonの基礎

Python のタプル

tuple は list のような順序つきの集まりですが、一度作ると変更できません。座標のような固定されたまとまりに向いています。

のタプルとは?

tuple は list のような順序つきの集まりですが、一度作ると変更できません。座標のような固定されたまとまりに向いています。

tuple で値をまとめ、アンパックして、関数から複数の値を返します。

どのような場面で使う?

  • 実行できるコードでPython構文を学ぶ。
  • より大きな課題に必要な基礎を身につける。
  • ローカル環境なしでアイデアを試す。

動きで理解する

タプルは作成後に変更できません。変更を試してから、値を別々の変数にアンパックしてみましょう。

サンプルコード

コードを実行 →
main.py
# A tuple is an ordered collection that cannot be changed after it is created.
point = (3, 4)
colors = ("red", "green", "blue")

print(point[0], point[1])
print(len(colors), colors[-1])

# Unpacking assigns each item to its own variable.
x, y = point
print(f"x = {x}, y = {y}")

# Functions can return several values as a tuple.
def min_max(values):
    return min(values), max(values)

low, high = min_max([7, 2, 9, 4])
print(low, high)

# Swap two variables without a temporary one.
a, b = 1, 2
a, b = b, a
print(a, b)

# Trying to change a tuple raises an error.
try:
    point[0] = 10
except TypeError as error:
    print("Error:", error)

期待される出力

3 4
3 blue
x = 3, y = 4
2 9
2 1
Error: 'tuple' object does not support item assignment

仕組み

アンパックでは、各項目をそれぞれの変数に代入します。これは関数が複数の値を返すときにも使われ、a, b = b, a で 2 つの変数を入れ替えるときにも使われます。

値を変更し、PythonをインストールせずにCodeUtilityオンラインPythonコンパイラで実行できます。

練習問題

入力値と境界ケースを変更し、より大きなデータでも動作を確認してください。

  1. 実行前に出力を予測する。
  2. 空または不正な入力を処理する。
  3. 処理を関数化し、テストケースを追加する。
Python IDEで実行 →

チャレンジで練習する

このレッスンの内容を使って実際の問題を解きましょう。各チャレンジはブラウザで動き、すぐにテストされ、AI のレビューも受けられます。

すべてのチャレンジ