【Python3】タプル

タプル(tuple)

タプルを扱うには、下記のように(…)で定義します。
タプルはリストとほぼ同じように使用できますが、要素を変更できない点が異なります。
また、要素がひとつだけの時は、最後にカンマ(,)を記述する必要があります。

days = ("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat")
print(days[0])    # Sun
print(days[1])    # Mon

タプル要素を変更しようとするとエラー(TypeError)となります。

a1 = [10, 20, 30, 40]
a2 = (10, 20, 30, 40)

a1[2] = 60              # 代入できる
a2[2] = 60              # エラーとなり、TypeError例外が発生する

タプルにスライスを使って新しいタプルを作成することができます。

tuple = ("A", "B", "C", "D")

print(tuple[1:3])    # ("B", "C")
print(tuple[1:])     # ("B", "C", "D")
print(tuple[:2])     # ("A", "B")

タプルからリストに変換するには list() を使います。
また、リストからタプルに変換するには tuple() を使います。

print(list([1, 2, 3]))     #=> (1, 2, 3)
print(tuple((1, 2, 3)))    #=> [1, 2, 3]

タプルの個数

タプルの個数は len() メソッドを使うと取得できます。

aaa = ("A", "B", "C")

print(len(aaa))       # 3

タプルの連結と繰り返し

タプルオブジェクトは、一度作成されると要素の追加や変更などは行えません。
でも、タプルとタプルを連結して新しいタプルを作成することはできます。

タプルとタプルを連結して新しいタプルを作成するには「+」演算子を使います。

aaa = ("A", "B", "C")

newaaa = tuple + ("D", "E")
print(newaaa)   # ("A", "B", "C", "D", "E")

また「*」演算子を使うと、
タプルオブジェクトを指定の回数繰り返した新しいタプルオブジェクトを作成できます。

aaa = ("A", "B", "C")

newaaa = aaa * 2
print(newaaa)   # ("A", "B", "C", "A", "B", "C")

Python3入門

Posted by 管理人