Python 2.xでは、私がソートされ、.sort関数にカスタム関数を渡すことができます
>>> x=['kar','htar','har','ar']
>>>
>>> sorted(x)
['ar', 'har', 'htar', 'kar']
>>>
>>> sorted(x,cmp=customsort)
['kar', 'htar', 'har', 'ar']
で、ので私の言語、consonentsはこの順番が付属しています
"k","kh",....,"ht",..."h",...,"a"
しかし、Python 3.xでは、cmp
キーワードを渡すことができなかったようです
>>> sorted(x,cmp=customsort)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'cmp' is an invalid keyword argument for this function
代替案はありますか、それとも自分でソートした関数も作成する必要がありますか?
注:「k」、「kh」などを使用して簡略化しました。実際の文字はUnicodeであり、さらに複雑です。子音の前後に母音がある場合があります。カスタム比較関数を実行したので、その部分は問題ありません。問題は、カスタム比較関数をソートまたは.sortに渡せなかったことです。
sorted(x)
か?