आप sorted
कार्य करने के लिए key
तर्क का उपयोग करके myclass
की एक सरणी सॉर्ट कर सकते हैं:पायथन: 'कुंजी' तर्क के उपयोग के बिना कस्टम क्लास को सॉर्ट करें?
sortedlist = sorted(myclasses, key=lambda obj: obj.myproperty)
वहाँ हमारी कक्षा के लिए एक प्राकृतिक आदेश परिभाषित करने के लिए एक तरीका है? शायद कुछ जादू विधि ताकि हमें हर बार एक कुंजी में गुजरना पड़े?
जैसे
class myclass:
def __init__(self,a,b):
self.key1 = a
self.key2 = b
def __sortkey__(self):
return self.key2
या यह स्वाभाविक रूप से अगर हम __le__
शायद परिभाषित काम करेंगे?
आह। अच्छा! इसे http://docs.python.org/library/functions.html#sorted – mpen
के अंतर्गत नहीं मिला है ध्यान दें कि '__cmp__' पायथन 3 – samfrances