Sobes.tech
Middle

What will Python output when comparing two empty tuples with 'is'? And two empty lists?

sobes.tech AI

Answer from AI

When comparing two empty tuples using the is operator in Python, the result will be True, because empty tuples are immutable and interned objects, and Python uses the same object in memory for all empty tuples.

print(() is ())  # Will output: True

For two empty lists, the is operator will return False, because lists are mutable objects, and creating two empty lists results in two different objects in memory.

print([] is [])  # Will output: False

Thus, is checks for object identity (the same memory address), not equality by value.