タプル(tuple)は下の例のように、全体は ( ) で括り、要素は「,」で区切る。
a = (10, 20, 30, 40)
要素数が 0 のときは ( ) でよいが、要素数が 1 の時は要素の後に 「,」をつけなければならない。 つまり、a = (10,) とすれば、要素数1のタプルになる。 a = (10) とした場合はタプルではなく a = 10 と同じように、数値の 10 になる。
タプルの要素の参照はリストと同じように [n] を使う。
if __name__ == '__main__': t = ((1,'a'),(2,'b')) print t[1]
上のプログラムの実行結果は次のようになる。
c:\sys>python \mh\www\python\src\tuple03.py (2, 'b')
リスト要素は変更することができるが、タプル要素を変更することができない[1]。
a1 = [10, 20, 30, 40] a2 = (10, 20, 30, 40) a1[2] = 60 # 代入できる a2[2] = 60 # エラーとなり、TypeError例外が発生する
タプルの連結は 「+」演算子を使う。
if __name__ == '__main__': a = (10, 20) + (30, 40, 50) print a # a = (10, 20, 30, 40, 50)
上のプログラムの実行結果は次のようになる。
c:\sys>python \mh\www\python\src\tuple01.py (10, 20, 30, 40, 50)
もう1例示す。
if __name__ == '__main__': t = ((1,'a'),(2,'b')) p = t + ((3,'c'),) print p
上のプログラムの実行結果は次のようになる。
c:\sys>python \mh\www\python\src\tuple02.py ((1, 'a'), (2, 'b'), (3, 'c'))
リストと異なり、append() は使えないが、連結により要素の追加が可能である。
タプルからリストに変換するには list() を、リストからタプルに変換するには tuple() を使う[1]。
print list([1, 2, 3]) # => (1, 2, 3) print tuple((1, 2, 3)) # => [1, 2, 3]