Is there any other purpose (besides being there because it needs to be) the empty tuple may have? Or: what would you use the empty tuple for? If anything. I just can't find an answer (well, a positive answer as in: "yes, there is"), please help me out with getting this question out of my head. "for testing if another tuple is empty" is not an acceptable answer since we should use 'not' operator for this.
Here's when.
def tuple_of_primes_less_than( n ): if n <= 2: return () else: x, p = set( range(2,n) ), 2 while p <= max(x): for k in range(2,int(2+math.sqrt(p))): x.discard(k*p) p += 1 return tuple( sorted( x ) )
You might want to store the arguments to a function as a tuple, without knowing the structure of the function in advance. If it happens that the function you need to store the parameters for takes no parameters, you will need to store an empty tuple.
This is just one among many examples of why it's generally better not to question the existence of edge cases, just because we can't think of a use for them. The need to support the edge case invariably crops up before long.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With