トップPython > タプル

タプル

1.タプル

タプル(tuple)は下の例のように、全体は ( ) で括り、要素は「,」で区切る。

  a = (10, 20, 30, 40)

要素数が 0 のときは ( ) でよいが、要素数が 1 の時は要素の後に 「,」をつけなければならない。 つまり、a = (10,) とすれば、要素数1のタプルになる。 a = (10) とした場合はタプルではなく a = 10 と同じように、数値の 10 になる。

2.タプルの要素の参照

タプルの要素の参照はリストと同じように [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例外が発生する

3.タプルの連結

タプルの連結は 「+」演算子を使う。

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() は使えないが、連結により要素の追加が可能である。

4.リストとタプルの変換

タプルからリストに変換するには list() を、リストからタプルに変換するには tuple() を使う[1]。

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

A.リファレンス

[1] リスト・タプル・辞書
[2] Django/タプルに要素を追加