में एक सूची से एन न्यूनतम या अधिकतम तत्व प्राप्त करने का तेज़ तरीका वर्तमान में मेरे पास एक लम्बा फ़ंक्शन f का उपयोग करके क्रमबद्ध एक लंबी सूची है। मैं फिर पहले पांच तत्वों से यादृच्छिक तत्व चुनता हूं। कुछ ऐसा:पायथन
f = lambda x: some_function_of(x, local_variable)
my_list.sort(key=f)
foo = choice(my_list[:4])
प्रोफाइलर के मुताबिक यह मेरे कार्यक्रम में एक बाधा है। मैं चीजों को कैसे गति दे सकता हूं? क्या तत्वों को पुनर्प्राप्त करने के लिए एक तेज़, अंतर्निहित तरीका है (सिद्धांत में पूरी सूची को सॉर्ट करने की आवश्यकता नहीं है)। धन्यवाद।
'some_function_of' महंगा है? – SilentGhost
http://stackoverflow.com/questions/2243542/how-to- कुशलतापूर्वक-get-the-k-bigger-elements-of-a-list-in-python – fortran