2016-06-18 7 views
16

空のタプル(つまり、(()))だけで構成されるタプルを作成するにはどうすればよいですか?私はすべて()を与えたtuple(tuple())tuple(tuple(tuple()))tuple([])およびtuple(tuple([]))を試しました。Pythonで空のタプルのタプルを作成するには?

私がこのようなものを使用する理由は、次のとおりです。nバッグがm個であるとします。バッグの中のアイテムのリストを表現するために、私は長さがntupleを使用し、そのタプルの各要素はバッグの代表です。バッグは空で、()というラベルが付いています。今、いくつかの最初の時点で、私は空のアイテムを持つただ1つのバッグを持っています!

+4

空のタプルリテラルは、 '()'、 'ない(、)' – vaultah

+0

@vaultah修正です。 :) –

+0

"今、ある初期の時点で、私は空のアイテムを持つただ1つのバッグを持っています!"タプルは不変なので、後でアイテムを追加することはできないので、空のタプルは基本的に役に立たないことに注意してください。必要に応じて、代わりにリストの使用を検討する必要があります。 – DeepSpace

答えて

27

空のタプルは()であり、ただ一つの項目との組は、(整数1として)、シングルトンが(1,)ある(herehere参照)と呼ばれます。したがって、唯一の空のタプルを含むタプルはここ

((),) 

で動作するいくつかの結果を示している:

>>> a=((),) 
>>> type(a) 
<type 'tuple'> 
>>> len(a) 
1 
>>> a[0] 
() 
>>> type(a[0]) 
<type 'tuple'> 
>>> len(a[0]) 
0 
3

外側の括弧が解釈されますので、私は、この(())は動作しませんでした驚いていませんよそれはカッコですしたがって、(2) == 2のように、(()) ==()と同じです。しかし、これは動作するはずです:

((),) 
関連する問題