teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

修正

2021/03/15 02:24

投稿

kirara0048
kirara0048

スコア1399

answer CHANGED
@@ -10,15 +10,19 @@
10
10
  for i in range(length):
11
11
  if a[i] == b[i]:
12
12
  continue
13
+ else:
13
- elif a[i] > b[i]:
14
+ return a[i] > b[i]
14
- return True
15
- elif a[i] < b[i]:
15
+ return len(a) > len(b)
16
- return False
17
- return True
18
16
  ```
19
17
 
20
18
  つまり、先頭はどちらも`-1`で同じなので次に移動し、二番目同士を比較した`-10 > -2`の答えである`False`が返されます。
21
19
 
20
+ 公式ドキュメントの『[値の比較](https://docs.python.org/ja/3/reference/expressions.html#value-comparisons)』より引用:
21
+
22
+ > ● 比較の結果が等価となる2つのコレクションは、同じ型、同じ長さ、対応する要素どうしの比較の結果が等価でなければなりません (例えば、 [1,2] == (1,2) は型が同じでないので偽です)。
23
+ >
24
+ > ● 順序比較をサポートしているコレクションの順序は、**最初の等価でない要素の順序と同じ**になります (例えば、 [1,2,x] <= [1,2,y] は x <= y と同じ値になります)。 対応する要素が存在しない場合、短い方のコレクションの方が先の順序となります (例えば、 [1,2] < [1,2,3] は真です)。
25
+
22
26
  ---
23
27
 
24
28
  ```python