2016-05-17 8 views
3

のためにやっていることは認めざるを得ない、私は二つのリストを持っていると言う、と私は、次のコマンド何__lt__が実際にリスト

>>> s = [1, 2, 3] 
>>> t = [1, 2, 4] 
>>> s > t 
False 
>>> s < t 
True 

を実行します。しかし、私は次のコマンドを実行した場合

>>> s = [1, 2, 3] 
>>> t = [1, 1, 4] 
>>> s > t 
True 
>>> s < t 
False 

、私はPY3コードベースにあまり慣れていません。 __lt__, __le__, __gt__, __ge__, __ne__, __eq__メソッドではどういうことが起こっていますか?

+0

リンクありがとうございます! – mortonjt

答えて

1

これは単純に、つまり要素ごとに比較しています。 4> 3であるが、2> 1である。

+0

あなたは精緻化できますか?これは第2の例と一致しない。 – mortonjt

+0

@mortonjt:1 == 1,2> 1 –

+0

右上だが、3 <4? – mortonjt

6

比較はlexicographicalである。あなたがその定義を読んだら、あなたはすべてを理解するでしょう。

要素のペアを順番に反復し、最初の等しくないペアが順序の勝者を決定します。

+0

そして、同等の要素がすべて等しい場合、長い方がiircより大きい。 –

関連する問題