में अजगर 2.x , मैं छाँटे गए और .sort कार्यों के लिए कस्टम समारोह गुजर सकता है
>>> x=['kar','htar','har','ar']
>>>
>>> sorted(x)
['ar', 'har', 'htar', 'kar']
>>>
>>> sorted(x,cmp=customsort)
['kar', 'htar', 'har', 'ar']
क्योंकि, मेरी भाषा में, सहमति इस आदेश के साथ आती है
"k","kh",....,"ht",..."h",...,"a"
लेकिन पायथन 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", आदि का उपयोग करके सरलीकृत किया है। वास्तविक वर्ण यूनिकोड हैं और यहां तक कि अधिक जटिल हैं, कभी-कभी स्वर हैं पहले और बाद में सहमति के बाद, मैंने कस्टम तुलनात्मक फ़ंक्शन किया है, ताकि भाग ठीक हो। केवल समस्या यह है कि मैं अपने कस्टम तुलना फ़ंक्शन को सॉर्ट या .Sort में नहीं दे सका
sorted(x)
?