バリケンのPython日記 RSSフィード

2008-07-22

[] タプル(1)  タプル(1) - バリケンのPython日記 を含むブックマーク はてなブックマーク -  タプル(1) - バリケンのPython日記  タプル(1) - バリケンのPython日記 のブックマークコメント

いままでも何度か「タプル」という言葉が登場していたけど、タプルとは「コンマで区切られたいくつかの値を並べたもの」のことだよ。

タプルはリストに似ているように見えるけど、リストとは違ってタプル自体は変更ができないよ(タプルの要素としてリストのような変更可能なオブジェクトを入れることは可能だよ)。

次の例ではリスト「[1, 2, 3]」と文字列「"Hello"」からなるタプルを作っているけど、そのタプルの要素の一つであるリストを変更することができることがわかるよ。

>>> a = [1, 2, 3]
>>> t = (a, "Hello")
>>> t
([1, 2, 3], 'Hello')
>>> del a[0]
>>> a
[2, 3]
>>> t
([2, 3], 'Hello')
>>> 

タプルは紛らわしくない範囲でカッコを省略することができるけど、基本的にはタプルはカッコで囲んで表現するよ。

タプルは入れ子にすることもできるよ(タプルの要素としてタプルを入れられるよ)。また、リスト同様にインデクスを指定して値を参照することができるよ。

>>> t = 12345, 54321, 'hello!'
>>> t
(12345, 54321, 'hello!')
>>> u = t, (1, 2, 3, 4, 5)
>>> u
((12345, 54321, 'hello!'), (1, 2, 3, 4, 5))
>>> t[0]
12345
>>> u[0]
(12345, 54321, 'hello!')
>>> u[0][0]
12345
>>>
トラックバック - http://python.g.hatena.ne.jp/muscovyduck/20080722