<Python> == と is の違い

違い。。。

isは、オブジェクト番号 id()で比較している。
==はオブジェクトの内容で比較している。

In [1]: lst = [1,2,3]

In [2]: lst2 = lst

In [4]: id(lst)
Out[4]: 439830664

In [5]: id(lst2)
Out[5]: 439830664

In [6]: lst2 is lst
Out[6]: True

In [7]: lst2 == lst
Out[7]: True

In [8]: import copy

In [9]: lst3 = copy.deepcopy(lst)

In [10]: id(lst3)
Out[10]: 439859400

In [11]: lst3 is lst
Out[11]: False

In [12]: lst3 == lst
Out[12]: True

参考。
http://www.python-izm.com/contents/basis/difference_eq_is.shtml

マニュアル。
http://docs.python.jp/3/reference/expressions.html#comparisons