Trong Python 2.x , tôi có thể chuyển hàm tùy chỉnh sang các hàm được sắp xếp và .sort
>>> x=['kar','htar','har','ar']
>>>
>>> sorted(x)
['ar', 'har', 'htar', 'kar']
>>>
>>> sorted(x,cmp=customsort)
['kar', 'htar', 'har', 'ar']
Bởi vì, trong ngôn ngữ của Tôi , những người ủng hộ đi kèm với thứ tự này
"k","kh",....,"ht",..."h",...,"a"
Nhưng trong Python 3.x , có vẻ như tôi không thể chuyển cmp
từ khóa
>>> 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
Có lựa chọn thay thế nào không hay tôi cũng nên viết hàm được sắp xếp của riêng mình?
Lưu ý: Tôi đã đơn giản hóa bằng cách sử dụng "k", "kh", v.v. Các ký tự thực tế là Unicodes và thậm chí còn phức tạp hơn, đôi khi có nguyên âm đứng trước và sau các thành phần, tôi đã thực hiện chức năng so sánh tùy chỉnh, vậy là xong phần đó. Chỉ có vấn đề là tôi không thể chuyển hàm so sánh tùy chỉnh của mình sang dạng sắp xếp hoặc .sort
sorted(x)
?