a

tuple

tuple: 値の重複が可能

immutableなオブジェクトの為、辞書のキーに利用可能
in での存在チェックや、max()、 == / is での比較はリストと同じ
()で囲ってもtuple内包表記にならず、ジェネレータ式になる


初期化

numbers = (4, 8, 15, 16, 23, 42)
print(numbers)
# (4, 8, 15, 16, 23, 42)

初期化 : tuple(値,値,...)

tuple : 組み込み関数

t = tuple(range(5,10))
print(t)
# (5, 6, 7, 8, 9)

t = tuple("月火水木金土日")
print(t)
# ('月', '火', '水', '木', '金', '土', '日')

a = [1, 2, 3, 4] # リストをタプルへ
tu = tuple(a)
print(tu)
# (1, 2, 3, 4)

結合

a = (4, 8, 15,)
b = (16, 23, 42,)
c = a + b + (99,) # 1つの場合は、,をつけることが必須
print(c)
# (4, 8, 15, 16, 23, 42, 99)

# スライス [開始位置:終了位置:ステップ]

変数で受け取った場合、copyと同じく値コピーとなる為、ポインタは変わる

foods = ("apple", "banana", "pine", "cherry")
print(foods[1:3]) # 終了位置はマイナス1
# ('banana', 'pine')

要素の取得

リストと同じ

data = (1, 2 ,3)
print(data[0])
# 1

タプルのアンパック

(a, b) = ("100", "200")
print(a)
# 100
print(b)
# 200

複数リストをzipでまとめる

要素はタプルになる

name1 = ["鈴木", "田中", "松本"]
name2 = ["イチロー", "圭", "仁志"]
t = zip(name1, name2)
l = list(t)
print(l)
# [('鈴木', 'イチロー'), ('田中', '圭'), ('松本', '仁志')]