Ali Shakiba Ali Shakiba - 5 months ago 14
Python Question

How to create a tuple of an empty tuple in Python?

How can I create a tuple consisting of just an empty tuple, i.e.

(())
? I have tried
tuple(tuple())
,
tuple(tuple(tuple()))
,
tuple([])
and
tuple(tuple([]))
which all gave me
()
.

The reason that I use such a thing is as follows: Assume you have
n
bags with
m
items. To represent a list of items in a bag, I use a
tuple
of length
n
where each element of that tuple is a representative for a bag. A bag might be empty, which is labeled by
()
. Now, at some initial point, I have just one bag with empty items!

Answer

The empty tuple is (), and a tuple with just one item (such as the integer 1), called a singleton (see here and here) is (1,). Therefore, the tuple containing only the empty tuple is

((),)

Here are some results showing that works:

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