In Python 2.x , ben sıralanır ve .sort fonksiyonlara özel işlev geçebileceği
>>> x=['kar','htar','har','ar']
>>>
>>> sorted(x)
['ar', 'har', 'htar', 'kar']
>>>
>>> sorted(x,cmp=customsort)
['kar', 'htar', 'har', 'ar']
Çünkü benim dilimde ünsüzler bu sırayla gelir
"k","kh",....,"ht",..."h",...,"a"
Ancak Python 3.x'te , cmp
anahtar kelimeyi geçemedim gibi görünüyor
>>> 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
Herhangi bir alternatif var mı yoksa kendi sıralanmış işlevimi de yazmalı mıyım?
Not: "k", "kh", vb. Kullanarak basitleştirdim. Gerçek karakterler Unicodes ve daha da karmaşık, bazen ünlüler ünsüzlerden önce ve sonra geliyor, özel karşılaştırma işlevi yaptım, Yani bu kısım tamam. Tek sorun, özel karşılaştırma işlevimi sıralı veya .sort olarak geçiremememdir.
sorted(x)
mi