2016-05-04 17 views
-1
a = {1, 2, 3} < {2, 3, 4, 5} 

print(a)は、Falseを生成する。{1、2、3} <{2,3,4,5}はなぜFalseを返しますか?

理由を教えてもらえますか?

aは、であると考えられました。左側の数字は右側のセットの数字よりも小さいためです。

+0

今、タグ付けがクリアされたので、もう1つの質問が残っています。代わりに何が起こると思いますか? –

+0

@MartijnPieters私は、 "a"は、左セットの数字が右セットの数字よりも小さいので、Trueを返すと考えました。しかし、ありがとう、私は今あなたの説明を理解しています。 –

+2

私はあなたの質問にそれを加えました。将来的にはあなたの期待を説明する方が良いでしょう。 –

答えて

5

左のオペランドが右のオペランドの適切なサブセットある場合、第1のセットにおける全て要素が第二のセットに存在する場合、あなたがセット、設定テストに<オペレータを比較します第2の組が大きいことをとする。

{1, 2, 3}は、1が大きなセットに含まれていないため、{2, 3, 4, 5}セットのサブセットではありません。

set documentationを参照:セットは、他の適切なサブセットであるかどうかを

set < other
テスト、すなわち、set <= other and set != otherあります。

他の値の比較は行われません。辞書のようなセットは「順序付け可能」ではないので、あるセット(キーまたはキーと値のペアの辞書)のどの値が他のセットのどの値と比較されるかはわかりません。

+0

これはリストを使って作業するように見えるかもしれませんが、OPが望んでいるようなものはまだしません。 –

+0

@en_Knight:OPとは何なのか分かりません期待していました。これがリストのように機能することの期待は、この時点での純粋な推測です。 –

+0

"私は、" a "は、左セットの数字が右セットの数字よりも小さいので、Trueを返すと考えられていました。"今私達はする;) –

関連する問題