Di Python 2.x , saya bisa meneruskan fungsi kustom ke fungsi sortir dan .sort
>>> x=['kar','htar','har','ar']
>>>
>>> sorted(x)
['ar', 'har', 'htar', 'kar']
>>>
>>> sorted(x,cmp=customsort)
['kar', 'htar', 'har', 'ar']
Karena, dalam bahasa saya , konsonan hadir dengan urutan ini
"k","kh",....,"ht",..."h",...,"a"
Tapi di Python 3.x , sepertinya saya tidak bisa memasukkan cmp
kata kunci
>>> 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
Apakah ada alternatif atau haruskah saya menulis fungsi yang diurutkan sendiri juga?
Catatan: Saya menyederhanakan dengan menggunakan "k", "kh", dll. Karakter sebenarnya adalah Unicodes dan bahkan lebih rumit, kadang-kadang ada huruf vokal muncul sebelum dan sesudah konsonan, saya telah melakukan fungsi perbandingan kustom, Jadi bagian itu ok. Hanya masalahnya adalah saya tidak bisa meneruskan fungsi perbandingan kustom saya ke sort atau .sort
sorted(x)
?