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コンパイラで実行できます。
練習問題
入力値と境界ケースを変更し、より大きなデータでも動作を確認してください。
- 実行前に出力を予測する。
- 空または不正な入力を処理する。
- 処理を関数化し、テストケースを追加する。
チャレンジで練習する
このレッスンの内容を使って実際の問題を解きましょう。各チャレンジはブラウザで動き、すぐにテストされ、AI のレビューも受けられます。
- Min and Max Together Find the smallest and largest value in one pass. 簡単
- 最初と最後を入れ替える リストの最初と最後の要素を交換します。 簡単