質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

3回答

6691閲覧

対話モードにて「True」が返されるものについて

Shingodate1

総合スコア4

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/06/15 11:37

pythonの基礎認定試験の問題でこのような問題がありました。

対話モードで入力した時に「True」が返されるものは次のうちどれか。
1.(-1, -10, -2, -5) > (-1, -2, -5)
2.(2, 3, ('aa', 'ab')) < (2, 3, ('abc', 'a'), 5)

この選択肢で私は、右辺の全てのオブジェクトが左辺に含まれているので1番を選択しましたが、正解は2番でした。
なぜそうなるかが分からないので
ご教授いただけたら幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

リスト/タプルの大小の比較のルールの理解が間違えています。
「右辺の全てのオブジェクトが左辺に含まれている」かどうかではなく、先頭要素から順にチェックされて最初の異なる要素同士で大小関係が判定されます。以降の要素はチェックされません。
その他、数が違う場合とか型が違う場合などいろいろ条件がありますが、そのあたりはドキュメントを参照ください。

投稿2021/06/15 12:02

TakaiY

総合スコア12804

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Shingodate1

2021/06/16 02:15

ご回答いただきありがとうございました。
guest

0

tupleの比較は辞書式順序によって行われるからです。

公式ドキュメント 6.10.1. 値の比較をお読みください。

投稿2021/06/15 11:49

編集2021/06/15 11:56
ppaul

総合スコア24666

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

ざっくりいえば各要素の値を先頭から順に比較していきます。

共通のシーケンス演算

同じ型のシーケンスは比較もサポートしています。特に、タプルとリストは対応する要素を比較することで辞書式順序で比較されます。つまり、等しいとされるためには、すべての要素が等しく、両シーケンスの型も長さも等しくなければなりません。(完全な詳細は言語リファレンスの 比較 を参照してください。)

6.10.1. 値の比較

組み込みのコレクションどうしの辞書式比較は次のように動作します:

比較の結果が等価となる2つのコレクションは、同じ型、同じ長さ、対応する要素どうしの比較の結果が等価でなければなりません (例えば、 [1,2] == (1,2) は型が同じでないので偽です)。
順序比較をサポートしているコレクションの順序は、最初の等価でない要素の順序と同じになります (例えば、 [1,2,x] <= [1,2,y] は x <= y と同じ値になります)。 対応する要素が存在しない場合、短い方のコレクションの方が先の順序となります (例えば、 [1,2] < [1,2,3] は真です)。

投稿2021/06/15 11:52

can110

総合スコア38278

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Shingodate1

2021/06/16 02:16

ご丁寧にご回答いただきましてありがとうございました。 参考にさせて頂きます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問