py中
字符串的比较默认是通过ASCII来比较,通过重载可以实现其它的比较策略.
而第一个(3,2)<('a','b')
只是在2x版本里支持,比较的结果无意义,并不是数字多大都小于字符,而是在比较之前首先比较类型,
标识数字类型小于字符串类型,可以通过一个测试来看看比较的顺序.
a = [ { } ,( ) ,[ ] ,1 ,'ds' ,object( ) ,object ]
print( sorted( a ) )
得出的结果是
[1, {}, [], <object object at 0x00B80468>, 'ds', (), <type 'object'>]
这种类型的比较没有任何的意义,所以在3x版本里默认将不允许这种比较,只会得到TypeError.来自:求助得到的回答本回答被提问者采纳