class Solution(object):
def moveZeroes(self, nums):
nums.sort(key =lambda x : 1 if x == 0 else 0)
return nums
私の関数は上記のようになります。 コードkey =lambda x : 1 if x == 0 else 0
の仕組みがわかりません。Pythonのソートキーの操作
私はまたにラムダ関数を変更しようとしました:
def getKey(item):
if item == 0:
return 1
else:
return 0
しかし、どのようにキー= 1または0を理解していないようだ、結果に影響を与えます。
https://wiki.python.org/moin/HowTo/Sorting#Key_Functions – DeepSpace
キー手段でソートキー機能によって与えられた値を項目の配置先として使用してソートします。この場合、「0」は「1」の前にあるので、キー「0」を生成するすべてのアイテムは、キー「1」を生成するすべてのアイテムよりも早く配置されます。 – khelwood
あなたの元のデータを別のもの(この場合は '1'と' 0's)に "マッピング"する 'key'と考えてください。これらの '1'と' 0'はあなたが想像するようにソートされ、その後、初期のオブジェクトを明らかにするためにマッピングが逆にされますが、今回はソートされます。 –