Pythonにおけるタプル(tuple)は、丸括弧でオブジェクトをくくると定義出来ました。
リスト(list)と何が違うのかというと、一度定義したら変更できないところでした。 >>> t = (1,2,3) >>> l = [1,2,3] >>> t (1, 2, 3) >>> l [1, 2, 3] >>> l[0] = 0 >>> t[0] = 0 Traceback (most recent call last): File " TypeError: 'tuple' object does not support item assignment >>> l [0, 2, 3] >>> t (1, 2, 3) ちなみに、変更できるオブジェクトをmutable、変更できないオブジェクトをimmutableと言ったりします。 変更出来ない代わりに、タプルは辞書のキーになれるというメリットがあります。
さらに、タプルのカンマは結構省略できるという事実をご存知でしょうか?こんな感じです。
まあ、ちょっとだけ楽だというだけなんですが、PythonからExcelのファイルを扱うことができるpyExceleratorなどで見られる書き方です。 ちなみに、このpyExceleratorもかなり便利です。 スポンサーサイト
|
タプルの定義
> Pythonにおけるタプル(tuple)は、丸括弧でオブジェクトをくくると定義出来ました。
私も以前は勘違いしていて、よく間違われるのですが、タプルはカンマで区切られた値から定義されるのが正しいようです。 >>> (1) 1 >>> 1, (1,) >>> 1,2, (1, 2) http://www.python.jp/doc/release/tut/node7.html#SECTION007300000000000000000 Re: タプルの定義
t2yさんありがとうございますー。
なるほど、たしかに。カンマで区切るとタプルなんですね。 そう考えると、()が省略出来るというのもわかりますし、アンパック代入みたいなのも統一的に理解できます。 >>> a,b = 1,2 >>> a 1 >>> b 2 Python3からはこんな記述もいけるみたいですね。 >>> a,b,*c = 1,2,3,4,5, >>> a 1 >>> b 2 >>> c [3, 4, 5] |
|
| ホーム |
|