0

次のような最初の項目に基づいてリストを並べ替えたい:

fruits = \
[['Mango', 6, 5, 8.0],
 ['Banana', 2.0, 5, 8.9, 7],
 ['Pineapple', 4, 6.8, 9],
 ['Apple', 3.9, 6, 7, 2]]

次のように並べ替えます。

fruits = \
[['Apple', 3.9, 6, 7, 2],
 ['Banana', 2.0, 5, 8.9, 7],
 ['Mango', 6, 5, 8.0],
 ['Pineapple', 4, 6.8, 9]]

関数を使用する必要sort()があることはわかっていますが、必要な出力を生成するために正しい方法で使用する方法がわかりません。

4

1 に答える 1

1

あなたの問題は正確には何ですか?sort()すでに最初の要素でソートされています。

In [14]: fruits = [["Mango", 6,5,8.0],
         ["Banana", 2.0,5,8.9,7],
         ["Pineapple", 4,6.8,9],
         ["Apple", 3.9,6,7,2]]

In [15]: fruits.sort()

In [16]: fruits
Out[16]: 
[['Apple', 3.9, 6, 7, 2],
 ['Banana', 2.0, 5, 8.9, 7],
 ['Mango', 6, 5, 8.0],
 ['Pineapple', 4, 6.8, 9]]

項目がクラスまたは変数である場合、並べ替えのニーズに応じてそれらの比較メソッド ( __ge____le____gt____lt__) を実装する必要があります。

リストをそのfruits.sort()場で変更することに注意してください。新しいソートされたコピーが必要な場合は、使用してくださいsorted(fruits)

于 2013-05-02T10:42:11.520 に答える