回答編集履歴
4
上
answer
CHANGED
@@ -38,13 +38,17 @@
|
|
38
38
|
|
39
39
|
について。
|
40
40
|
|
41
|
-
|
41
|
+
list.sortメソッドのkeyが指定されない場合、上で引用した通りリストの要素がそのまま比較されます。
|
42
42
|
|
43
|
+
タプル同士は比較できます。
|
44
|
+
|
43
45
|
```python
|
44
46
|
>>> (1,2,8) > (2,5,6)
|
45
47
|
False
|
46
48
|
>>> (1,0,0) > (1,0)
|
47
49
|
True
|
50
|
+
>>> (1,'Hoshino') < (2,'Miyamoto')
|
51
|
+
True
|
48
52
|
```
|
49
53
|
|
50
54
|
[5. データ構造 — Python 3.6.5 ドキュメント # シーケンスとその他の型の比較](https://docs.python.jp/3/tutorial/datastructures.html#comparing-sequences-and-other-types)
|
3
追記
answer
CHANGED
@@ -30,4 +30,23 @@
|
|
30
30
|
#### ところで
|
31
31
|
`dict`という変数名は組み込みの`dict`クラスを上書きしてしまうので、使うべきではありません。
|
32
32
|
|
33
|
-
あと、`dict`といいつつ実体が`list`型なのも混乱する。書籍、サイト、教材等でそのコードが出てきたのなら、そこの情報は信頼できない可能性があります。
|
33
|
+
あと、`dict`といいつつ実体が`list`型なのも混乱する。書籍、サイト、教材等でそのコードが出てきたのなら、そこの情報は信頼できない可能性があります。
|
34
|
+
|
35
|
+
#### 補足
|
36
|
+
|
37
|
+
> 引数を渡さない場合は Index値の昇順に並び変える
|
38
|
+
|
39
|
+
について。
|
40
|
+
|
41
|
+
単純な話で、タプル同士は比較できます。
|
42
|
+
|
43
|
+
```python
|
44
|
+
>>> (1,2,8) > (2,5,6)
|
45
|
+
False
|
46
|
+
>>> (1,0,0) > (1,0)
|
47
|
+
True
|
48
|
+
```
|
49
|
+
|
50
|
+
[5. データ構造 — Python 3.6.5 ドキュメント # シーケンスとその他の型の比較](https://docs.python.jp/3/tutorial/datastructures.html#comparing-sequences-and-other-types)
|
51
|
+
|
52
|
+
詳細は割愛しますが、左側の要素から一桁ずつ比較されます。なので質問文のコードであれば、index(と便宜的に呼びますが以下略)で比較されているように見える、という訳です。
|
2
追記
answer
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
'Miyamoto'
|
25
25
|
```
|
26
26
|
|
27
|
-
確かに質問文のコードでは結果的にvalue(と便宜的に呼ぶことにするが、そもそもdict型ではないのでキーと値の概念はない)でソートされますが、常にそうなるわけではありません。たとえば`key=lambda x : x[0]`とすればタプルの最初の要素に対してソートされることでしょう。
|
27
|
+
確かに質問文のコードでは結果的にvalue(と便宜的に呼ぶことにするが、そもそもdict型ではないのでキーと値の概念はない)でソートされますが、常にそうなるわけではありません。たとえば`key=lambda x : x[0]`とすればlistの要素の各タプルの最初の要素(1,2,3,4)に対してソートされることでしょう。
|
28
28
|
|
29
29
|
|
30
30
|
#### ところで
|
1
追記
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
lambdaに関する認識がそもそも間違っていると思います。lambda式が返すのは関数そのものです。フォーマットは`lambda 引数 : 式`というものです(厳密ではありません)。
|
1
|
+
lambdaに関する認識がそもそも間違っていると思います。lambda式が返すのは関数そのものです。フォーマットは`lambda 仮引数 : 式`というものです(厳密ではありません)。
|
2
2
|
|
3
3
|
なので、質問文の関数は次のように働きます。
|
4
4
|
|