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