更新:2024/09/16
Pythonのタプル(tuple)の使い方・タプルの操作・例題について


はるか
タプルって、変更できないデータの集まり。リストとは違う。

ふゅか
そうそう!一度作ったら、追加したり削除したりできないのがポイントよ。
目次
1. タプルとは
Pythonのタプル (tuple) は、順序付けられた変更不可のデータの集合を表すデータ型です。リスト (list) に似ていますが、タプルは一度作成すると要素を追加、削除、変更することができません。
1.1. タプルの作成
タプルは丸括弧 ()
を使って作成します。複数の要素を持つタプルは、各要素をカンマ ,
で区切って定義します。
# 複数の要素を持つタプルの例
tuple1 = (1, 2, 3, 4, 5)
print(tuple1) # (1, 2, 3, 4, 5)
# 要素が1つだけの場合もカンマをつける
tuple2 = (42,)
print(type(tuple2)) # (42,)
要素が1つのタプルを作成する際、カンマを付ける必要があります。カンマがないと、Pythonはタプルではなく単なる数値やオブジェクトとして認識します。
# カンマなしの単一要素
not_tuple = (42)
print(type(not_tuple)) # 42(タプルではない)
1.2. タプルの特徴
- 順序性: タプル内の要素は順序を持っており、インデックスを使って要素にアクセスできます。
- 変更不可(イミュータブル): タプルの要素を変更することはできません。一度作成したタプルの要素を追加、削除、変更することはできないため、タプルはリストに比べて安全です。
tuple3 = ('apple', 'banana', 'cherry')
# tuple3[1] = 'orange' # エラー: タプルの要素は変更できません
仮に要素を変更しようとすると次のようになります。
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Input In [24], in ()
----> 1 tuple3[1] = 'orange'
TypeError: 'tuple' object does not support item assignment
要素を変更したい場合は変数を更新することで、要素を更新することができます。
tuple3 = ('apple', 'banana', 'cherry')
tuple3 = ('apple', 'orange', 'cherry') #banana -> orange

はるか
もし要素を変えたいなら、新しいタプルを作る。

ふゅか
タプルはそのままじゃ変更できないけど、新しいタプルを作り直せば問題なしよ!
2. タプルの操作

ふゅか
タプルはリストみたいにいろんな操作ができるのよ。たとえば、インデックスを使って要素にアクセスしたり、スライスで一部を取り出したり♪

はるか
ふむ、たとえば
tuple4[2]
で3番目の要素を取得できる。スライスだと、tuple4[1:3]
で2番目から3番目まで。タプルには、リストと同様に多くの操作が可能です。以下にいくつかの基本操作を示します。
2.1. インデックスによるアクセス
tuple4 = (10, 20, 30, 40)
print(tuple4[2]) # 30(インデックスは0から始まります)
2.2. スライス
print(tuple4[1:3]) # (20, 30) (1番目から2番目までの要素を取得)
2.3. 結合
tuple5 = (1, 2, 3)
tuple6 = (4, 5, 6)
tuple7 = tuple5 + tuple6
print(tuple7) # (1, 2, 3, 4, 5, 6)
2.4. 要素のカウントと検索
count()
: 指定した要素がタプル内に何回現れるかを返します。index()
: 指定した要素が最初に現れる位置(インデックス)を返します。
tuple8 = (1, 2, 3, 2, 4)
print(tuple8.count(2)) # 2 (要素2は2回現れます)
print(tuple8.index(3)) # 2 (要素3の最初のインデックスは2)
2.5. タプルのアンパック
タプルの要素を個別の変数に展開(アンパック)することができます。
tuple9 = ('red', 'green', 'blue')
color1, color2, color3 = tuple9
print(color1) # red
print(color2) # green
print(color3) # blue
アンパックする際、変数の数はタプルの要素数と一致させる必要があります。また、*
を使うことで残りの要素をリストにまとめることも可能です。
tuple10 = (10, 20, 30, 40)
a, *b = tuple10
print(a) # 10
print(b) # [20, 30, 40]
3. タプルの例題
3.1. 例題 1:要素の取得
次の
my_tuple
から、最初の要素と最後の要素を取得してください。my_tuple = (10, 20, 30, 40, 50)
期待される出力:
(10, 50)
解答の手順:
my_tuple[0]
で最初の要素を取得します。my_tuple[-1]
で最後の要素を取得します。- 両方の要素を新しいタプルにまとめます。
解答:
my_tuple = (10, 20, 30, 40, 50)
result = (my_tuple[0], my_tuple[-1])
print(result)
3.2. 例題 2:要素の入れ替え
次の
my_tuple
の2番目と4番目の要素を入れ替えたタプルを作成してください。my_tuple = (1, 2, 3, 4, 5)
期待される出力:
(1, 4, 3, 2, 5)
解答の手順:
list()
を使ってタプルをリストに変換します。- リストの2番目と4番目の要素を入れ替えます。
- リストをタプルに戻します。
解答:
my_tuple = (1, 2, 3, 4, 5)
temp_list = list(my_tuple)
temp_list[1], temp_list[3] = temp_list[3], temp_list[1]
result = tuple(temp_list)
print(result)
3.3. 例題 3:タプルの結合
2つのタプル
(1, 2)
と (3, 4)
を結合して、新しいタプルを作成してください。期待される出力:
(1, 2, 3, 4)
解答の手順:
- タプル同士を
+
演算子で結合します。
解答:
tuple1 = (1, 2)
tuple2 = (3, 4)
result = tuple1 + tuple2
print(result)
3.4. 例題 4:要素が含まれているか確認
次のタプル
my_tuple
の要素の中に 3 が含まれているか確認してください。my_tuple = (5, 8, 2, 9, 3)
期待される出力:
True
解答の手順:
in
演算子を使って、タプルに 3 が含まれているか確認します。
解答:
my_tuple = (5, 8, 2, 9, 3)
result = 3 in my_tuple
print(result)
check
Pythonの基本から応用まで、幅広くカバーする記事を公開中です。学習のポイントや実践的なコード例を通じて、Pythonの魅力と実用性を深く理解することができます。ぜひ、こちらの記事で気になる記事を見つけてください!
PR