Python 2.x 에서는 사용자 지정 함수를 sorted 및 .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"등을 사용하여 단순화했습니다. 실제 문자는 유니 코드이고 훨씬 더 복잡합니다. 때로는 자음 전후에 모음이 나오는 경우가 있습니다. 사용자 지정 비교 기능을 수행 했으므로 해당 부분은 괜찮습니다. 문제는 사용자 지정 비교 함수를 sorted 또는 .sort에 전달할 수 없다는 것입니다.
sorted(x)?