首页 > 代码库 > Python 不同对象比较大小
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 'int'> >>> type( y ) <type 'list'> >>> x < y True
>>> type( int ) <type 'type'> >>> type( list ) <type 'type'> >>> id( int ) 505552912 >>> id( list ) 505555336 >>> int < list True
>>> type( map ) <type 'builtin_function_or_method'> >>> type( list ) <type 'type'> >>> map < list True
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。