is
сравнивает идентификаторы (которые являются адресами памяти в CPython), ==
сравнивает равенство.
a = [1, 2, 3]
# a is a reference to an object of type 'list'
b = [1, 2, 3]
# b is a reference to an object of type 'list'
print(id(a), id(b))
print(hex(id(a)), hex(id(b)))
print(a is b)
a = (1, 2, 3)
# a is a reference to an object of type 'tuple'
b = (1, 2, 3)
# b is a reference to an object of type 'tuple'
print(hex(id(a)), hex(id(b)))
print(id(a), id(b))
print(a is b)