今天看了序列类型相关的比较操作.
在python核心编程(2nd)一书中6.13.1章节中, 给出了列表比较的一个准则..
个人感觉还是不很完善:
如果扫描到两个列表中当前比较元素是不可比较的, 那么返回什么??
我用的是python2.6....
对这个问题做了一些测试, 自己目前嘎绝当比较遇到上述情况时, 是使用两个列表的内存地址值来比较的..
以下代码是测试时候的i/o
>>> a = [1, 2, 3, 4]>>> b = [1, 2, 4, "3"]>>> a == bFalse>>> a < bTrue>>> a > bFalse>>> a, b = b, a>>> a[1, 2, 4, '3']>>> b[1, 2, 3, 4]>>> id(a)12643064>>> id(b)12752576>>> a < bFalse>>> b < aTrue>>> a = [1, "4"]>>> b = [2]>>> a < bTrue>>> id(a)12642104>>> id(b)12643064>>> c = [0]>>> a < cFalse>>> id(c)12752576>>> a = [1]>>> b = ["1"]>>> a < bTrue>>> id(a)12243072>>> id(b)12642104>>> a = ["1"]>>> b = [1]>>> a < bFalse>>> id(a)12643064>>> id(b)12243072>>>