Here are some artificial timings to motivate the question

```Python
In [18]: def make_tree(n):
    return [make_tree(n-1) for i in range(n)] if n else 1

In [19]: q = make_tree(9)

In [20]: w = make_tree(9)

In [21]: timeit q is w
10000000 loops, best of 3: 59.1 ns per loop

In [22]: timeit q == w
100 loops, best of 3: 19.4 ms per loop

In [23]: timeit q == q
10000000 loops, best of 3: 104 ns per loop
```