Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में सबसे बड़ा या सबसे छोटा आइटम कैसे खोजें?

यह लेख उन डेवलपर्स के लिए है जो पायथन के साथ सबसे बड़ी या सबसे छोटी वस्तुओं को खोजना चाहते हैं। मैं उपयोग करने के लिए कुछ तरीके दिखाऊंगा और आपके लिए सबसे अच्छी विधि का निष्कर्ष निकालूंगा।

विधि - 1:किसी सूची में स्लाइस दृष्टिकोण

यदि आप केवल सबसे छोटी या सबसे बड़ी वस्तु यानी एन =1 को खोजने की कोशिश कर रहे हैं, तो यह न्यूनतम () और अधिकतम () का उपयोग करने के लिए तेज़ है।

आइए कुछ यादृच्छिक पूर्णांक उत्पन्न करके प्रारंभ करें।

यादृच्छिक आयात करें# पूर्णांकों की एक यादृच्छिक सूची बनाएंrandom_list =random.sample(range(1,10),9)random_list

आउटपुट

[2, 4, 5, 1, 7, 9, 6, 8, 3]

सबसे छोटा और सबसे बड़ा आइटम ढूंढना (N=1)

# सबसे छोटी संख्या ज्ञात करें (N=1)min(random_list)

आउटपुट

1
# सबसे बड़ी संख्या ज्ञात करें (N=1)अधिकतम(random_list)

आउटपुट

9

3 सबसे छोटी और सबसे बड़ी वस्तुओं को खोजना (N=3)

इसी तरह, यदि N का आकार संग्रह के समान ही है, तो आमतौर पर इसे पहले सॉर्ट करना और N का एक टुकड़ा लेना आमतौर पर तेज़ होता है।

# एक स्लाइस अप्रोच (N=3)सॉर्टेड(random_list)[:3]
का उपयोग करके nsmallest को प्राप्त करने देता है

आउटपुट

[1, 2, 3]
# स्लाइस अप्रोच(N=3)सॉर्टेड(random_list)[-3:]
का उपयोग करके सबसे बड़ा होने दें

आउटपुट

[7, 8, 9]

विधि – 2:एक सूची में heapq विधि

हीपक मॉड्यूल के दो कार्य हैं- सबसे बड़ा () और सबसे छोटा () जिसका उपयोग सबसे छोटी या सबसे बड़ी वस्तुओं को खोजने के लिए किया जा सकता है।

हेपक्यूआयात करें 

आउटपुट

[1, 2, 3]
# सबसे बड़ा आइटम (N=3)heapq.nसबसे बड़ा(3,random_list)

आउटपुट

[9, 8, 7]

यदि आपके पास थोड़ा अधिक जटिल डेटा है, तो heapq फ़ंक्शन में एक प्रमुख पैरामीटर होता है जिसका उपयोग किया जा सकता है।

आयात heapqgrandslams =[{'नाम':'रोजर फेडरर', 'शीर्षक':20}, {'नाम:'राफेल नडाल', 'शीर्षक':19}, {'नाम':'नोवाक जोकोविच', 'शीर्षक':17}, {'नाम':'एंडी मरे', 'शीर्षक':3},] # कम खिताब वाले खिलाड़ी (एन =3) कम =ढेर। सबसे छोटा (3, ग्रैंडस्लैम, कुंजी =लैम्बडास:एस ['शीर्षक'])कम

आउटपुट

[{'नाम':'एंडी मरे', 'शीर्षक':3}, {'नाम':'नोवाक जोकोविच', 'शीर्षक':17}, {'नाम':'राफेल नडाल', 'शीर्षक' ':19}]
# उच्चतम खिताब वाले खिलाड़ी (N=3)अधिक =heapq.nसबसे बड़ा(3,grandslams,key =lambdas:s['titles'])more

आउटपुट

[{'नाम':'रोजर फेडरर', 'शीर्षक':20}, {'नाम':'राफेल नडाल', 'शीर्षक':19}, {'नाम':'नोवाक जोकोविच', 'शीर्षक' ':17}]

डेटाफ़्रेम से N सबसे बड़ा और सबसे छोटा ढूँढना।

खैर, दुनिया CSV फ़ाइलों से बनी है, हाँ वे करते हैं!.

इसलिए यह मान लेना बहुत सुरक्षित है कि आपके अजगर के विकास के किसी बिंदु पर आपका सामना CSV और जाहिर तौर पर DataFrame से होगा।

मैं आपको DataFrame से N को सबसे बड़ा/छोटा खोजने के लिए कुछ तरीके दिखाऊंगा।

पहली विधि में हम सॉर्ट_वैल्यू () विधि का उपयोग करके मानों को सॉर्ट करेंगे और हेड विधि का उपयोग करके मान लेंगे।

पंडों को pdimport io के रूप में आयात करें# अपने डेटाडेटा को परिभाषित करें ="""खिलाड़ी, शीर्षकजोकोविच,17नडाल,19फेडरर,20मरे,3"""throwaway_storage =io.StringIO(data)df =pd.read_csv(throwaway_storage,index_col ="खिलाड़ी ")


# सबसे छोटा (N =3)df.sort_values("titles").head(3)

आउटपुट

खिलाड़ी शीर्षक_______________मुरे 3जोकोविच 17नडाल 19


# सबसे बड़ा (N =3)df.sort_values("titles",ascending =False).head(3)

आउटपुट

खिलाड़ी शीर्षक_______________फ़ेडरर 20नडाल 19जोकोविच 17

पंक्तियों को छाँटने और .head() पद्धति का उपयोग करने के बजाय, हम .nsmallest() और .nlargest() विधियों को कॉल कर सकते हैं।

df.nsmallest(3,columns="titles")

आउटपुट

खिलाड़ी शीर्षक_______________मुरे 3जोकोविच 17नडाल 19


df.nसबसे बड़ा(3,कॉलम ="शीर्षक")

आउटपुट

खिलाड़ी शीर्षक_______________फ़ेडरर 20नडाल 19जोकोविच 17

निष्कर्ष

यदि आप अपेक्षाकृत कम संख्या में आइटम खोजने का प्रयास कर रहे हैं, तो सबसे बड़ा () और सबसे छोटा () फ़ंक्शन सबसे उपयुक्त हैं।

यदि आप केवल सबसे छोटी या सबसे बड़ी वस्तु (N=1) को खोजने का प्रयास कर रहे हैं, तो न्यूनतम () और अधिकतम () का उपयोग करना तेज़ है।

इसी तरह, अगर एन संग्रह के आकार के समान है, तो आमतौर पर इसे पहले सॉर्ट करना और एक टुकड़ा लेना तेज़ होता है।

अंत में, nlargest() और nsmallest() का वास्तविक कार्यान्वयन इस बात के अनुकूल है कि पायथन कैसे संचालित होता है और आपकी ओर से इनमें से कुछ अनुकूलन को पूरा करेगा।


  1. एक सरणी में सबसे बड़ा तत्व खोजने के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सरणी दी गई है, हमें सरणी के सबसे बड़े तत्व की गणना करने की आवश्यकता है। यहां हम ब्रूटफोर्स दृष्टिकोण का उपयोग करते हैं जिसमें हम पूरे लूप को पार करके सबसे बड़े तत्व की गणना करते हैं और तत्व प्राप्त करते हैं।

  1. Windows 10 पर सबसे बड़ी फ़ाइलें आसानी से कैसे खोजें?

    कई बार आपका कंप्यूटर ठीक से काम नहीं कर सकता है या धीमा हो सकता है क्योंकि आपके पास पर्याप्त डिस्क स्थान नहीं है। इस मामले में डिस्क पर बड़ी फ़ाइलों को खोजने और उन्हें किसी अन्य स्टोरेज डिवाइस पर ले जाने या डिस्क स्थान खाली करने के लिए उन्हें हटाने की सलाह दी जाती है। संबंधित लेख: जगह खाली करने के

  1. Windows 10 पर सबसे बड़ी फ़ाइलें कैसे खोजें?

    अगर आपको स्टोरेज स्पेस कम होने का संदेश मिलता है और मेमोरी खाली करना मुश्किल हो जाता है, तो ऐसा करने का सबसे अच्छा तरीका है कि आप अपने विंडोज 10 पर एक बड़ी फाइल ढूंढ लें। इससे यह जानने में मदद मिलेगी कि कौन सी फाइलें अनावश्यक हैं, और आप उन्हें हटा सकते हैं इस प्रकार भंडारण स्थान की वसूली। लेकिन पीस