仕事や学習の時に役立つちょっとしたチートシートを作ってみることにしました。今回はリスト、ディクショナリーに次いで使うタプルの使い方をまとめてみました。
タプルについて
listと違い、tupleは読み取り専用のコレクション(イミュータブル)となっています。変更したくない値を格納して参照のみとしたい場合は、tupleを使うのが効果的です。また処理の過程でタプルにしたコレクションをリスト・ディクショナリー等に変えたい時に使います。
タプルの内容を参照する(スライス、len)
tuple01 = (1,2,3)
print(tuple01)
# インデックス指定で参照する方法
tuple02 = (10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
print(tuple02[0])
print(tuple02[2:5])
print(tuple02[-1])
print(tuple02[-5:-1])
# 要素数を取得
print(len(tuple02))
(1, 2, 3)
10
(30, 40, 50)
100
(60, 70, 80, 90)
10
タプルをネスト化する
tuple_nest = (('01', '02'), ('03', '04'))
print(tuple_nest[0])
print(tuple_nest[1])
print(tuple_nest[0][0])
print(tuple_nest[0][1])
print(tuple_nest[1][0])
print(tuple_nest[1][1])
('01', '02')
('03', '04')
01
02
03
04
タプルを演算する
# タプルを結合する
t01 = ('elen', 'mikasa', 'armin')
t02 = t01 + ('jean', 'sasha')
print(t02)
# タプルを繰り返しにする
t03 = ('liberty', 'equality', 'fraternity') * 3
print(t03)
('elen', 'mikasa', 'armin', 'jean', 'sasha')
('liberty', 'equality', 'fraternity', 'liberty', 'equality', 'fraternity', 'liberty', 'equality', 'fraternity')
タプルの参照に用いるメソッド(index, count, in演算子)
index - 指定した要素が何番目にあるかを取得
count - 指定した要素が何個あるかを取得
in演算子 - 指定した要素がタプルにあるかを判定
print(t01.index("Python"))
print(t01.count("C#"))
print("Java" in t01)
1
2
True
タプルの並び替え、最大値と最小値(max, min, sorted)
t01 = (4,1,9,3,8,9,5)
print(max(t01))
print(min(t01))
print(sorted(t01))
print(sorted(t01, reverse=True))
9
1
[1, 3, 4, 5, 8, 9, 9]
[9, 9, 8, 5, 4, 3, 1]
リスト、文字列をタプルに変換(tuple)
l = ['a', 'b', 'c']
s = 'python'
ltoTuple = tuple(l)
stoTuple = tuple(s)
print(ltoTuple)
print(stoTuple)
('a', 'b', 'c')
('p', 'y', 't', 'h', 'o', 'n')