Python 不同对象比较大小示例探讨 万恶的源泉: Fireboo的疑问(当然 lambda 本身写的就有问题): >>> filter( lambda x: x > 2, [ 1, [ 1, 2, 3 ], 2, 3 ] ) [[1, 2, 3], 3] ?: >>> 1 < [ 1 ] True >>> int < list True >>> dict < int < list True >>> int < map False 后来几经周折,和 Fireboo 讨论了下,是 1.不同对象比较(除了 number 之外),是按照 type names 比较, 2.当相同类型对象不支持适当比较的时候,采用 address 比较 3.list 与 list, tuple 与 tuple 采用字典序比较 >>> x = 1 >>> y = [ 1 ] >>> type( x ) >>> type( y ) >>> x < y True >>> type( int ) >>> type( list ) >>> id( int ) 505552912 >>> id( list ) 505555336 >>> int < list True >>> type( map ) >>> type( list ) >>> map < list True