回答編集履歴
4
上
test
CHANGED
@@ -78,7 +78,11 @@
|
|
78
78
|
|
79
79
|
|
80
80
|
|
81
|
+
list.sortメソッドのkeyが指定されない場合、上で引用した通りリストの要素がそのまま比較されます。
|
82
|
+
|
83
|
+
|
84
|
+
|
81
|
-
|
85
|
+
タプル同士は比較できます。
|
82
86
|
|
83
87
|
|
84
88
|
|
@@ -92,6 +96,10 @@
|
|
92
96
|
|
93
97
|
True
|
94
98
|
|
99
|
+
>>> (1,'Hoshino') < (2,'Miyamoto')
|
100
|
+
|
101
|
+
True
|
102
|
+
|
95
103
|
```
|
96
104
|
|
97
105
|
|
3
追記
test
CHANGED
@@ -63,3 +63,41 @@
|
|
63
63
|
|
64
64
|
|
65
65
|
あと、`dict`といいつつ実体が`list`型なのも混乱する。書籍、サイト、教材等でそのコードが出てきたのなら、そこの情報は信頼できない可能性があります。
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
#### 補足
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
> 引数を渡さない場合は Index値の昇順に並び変える
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
について。
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
単純な話で、タプル同士は比較できます。
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
```python
|
86
|
+
|
87
|
+
>>> (1,2,8) > (2,5,6)
|
88
|
+
|
89
|
+
False
|
90
|
+
|
91
|
+
>>> (1,0,0) > (1,0)
|
92
|
+
|
93
|
+
True
|
94
|
+
|
95
|
+
```
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
[5. データ構造 — Python 3.6.5 ドキュメント # シーケンスとその他の型の比較](https://docs.python.jp/3/tutorial/datastructures.html#comparing-sequences-and-other-types)
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
詳細は割愛しますが、左側の要素から一桁ずつ比較されます。なので質問文のコードであれば、index(と便宜的に呼びますが以下略)で比較されているように見える、という訳です。
|
2
追記
test
CHANGED
@@ -50,7 +50,7 @@
|
|
50
50
|
|
51
51
|
|
52
52
|
|
53
|
-
確かに質問文のコードでは結果的にvalue(と便宜的に呼ぶことにするが、そもそもdict型ではないのでキーと値の概念はない)でソートされますが、常にそうなるわけではありません。たとえば`key=lambda x : x[0]`とすればタプルの最初の要素に対してソートされることでしょう。
|
53
|
+
確かに質問文のコードでは結果的にvalue(と便宜的に呼ぶことにするが、そもそもdict型ではないのでキーと値の概念はない)でソートされますが、常にそうなるわけではありません。たとえば`key=lambda x : x[0]`とすればlistの要素の各タプルの最初の要素(1,2,3,4)に対してソートされることでしょう。
|
54
54
|
|
55
55
|
|
56
56
|
|
1
追記
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
lambdaに関する認識がそもそも間違っていると思います。lambda式が返すのは関数そのものです。フォーマットは`lambda 引数 : 式`というものです(厳密ではありません)。
|
1
|
+
lambdaに関する認識がそもそも間違っていると思います。lambda式が返すのは関数そのものです。フォーマットは`lambda 仮引数 : 式`というものです(厳密ではありません)。
|
2
2
|
|
3
3
|
|
4
4
|
|