2016-06-18 105 views
16

如何創建一個只包含空元組的元組,即(())?我試過tuple(tuple()),tuple(tuple(tuple())),tuple([])tuple(tuple([]))這都給我()如何在Python中創建一個空元組的元組?

我使用這種東西的原因如下:假設你有n袋子m項目。爲了表示袋子中的物品列表,我使用長度爲ntuple,其中該元組的每個元素是袋子的代表。袋子可能是空的,標有()。現在,在某個初始階段,我只有一個空物品的包!

+4

空元組文字是'()',而不是'(,)' – vaultah

+0

@vaultah糾正。 :) –

+0

「現在,在某個初始階段,我只有一個空物品的包!」請注意,元組是不可變的,所以一個空元組基本上是無用的,因爲您以後不能添加項目。如果你想,你應該考慮使用一個列表來代替。 – DeepSpace

回答

27

空元組是(),和只用一個項目的元組(如整數1),稱爲單(參見herehere)是(1,)。因此,只包含空的元組的元組是

((),) 

這裏有一些結果顯示,工作原理:

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

我並不驚訝這個(())沒有工作,由於外括號得到解釋就像 - 括號一樣。所以(()) ==(),就像(2) == 2。這應該工作,但是:

((),) 
相關問題