諸悪の根源:
Fireboo に関する質問 (もちろんラムダ自体にも問題があります):
>>> 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. 異なるオブジェクト (数値を除く) の比較は型名に基づいて行われます。
2. 同じ型のオブジェクトが適切な比較をサポートしていない場合、アドレス比較が使用されます
3.リストとリスト、タプルとタプルは辞書順に比較されます
>>> 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