L=[5,10,4,2,8,7]
def compare(a,b):
return cmp(b,a)
L.sort(compare)
print (L[-2])
L.sort()
print (L[2])
このコードを実行すると、sort関数内で呼び出された関数compareに2つの引数が指定されていないため、例外がスローされないのはなぜですか? コードが実行されるときには、(比較)L.sortに比較呼び出しされていないパラメータを定義せずに引数を取るPython関数を呼び出すとどうなりますか?
4
5
なぜcompare()が2つの引数で呼び出されないと仮定しますか? 'cmp'引数として' compare() 'を' list.sort() 'に渡し、コールバックは二つの引数で呼び出されます。 – dhke
彼は明らかに彼が投稿したスニペットの意味を理解していなかったので、これが彼に求めているのです – BlueTrin