यदि आप किसी सूची (सरणी) के n तत्वों को पायथन में सबसे बड़े या सबसे छोटे मान से प्राप्त करना चाहते हैं, और n=1, तो आप निम्न अंतर्निहित फ़ंक्शन का उपयोग कर सकते हैं।
max()
min()
यदि n>1, तो सूची को क्रमबद्ध करने या मानक पुस्तकालय के हीपैक मॉड्यूल का उपयोग करने के दो तरीके हैं।
- अधिकतम और न्यूनतम मान प्राप्त करें:
max()
,min()
- अधिकतम और न्यूनतम मान के क्रम में n तत्व प्राप्त करें:तरह
- अधिकतम और न्यूनतम मान के क्रम में n तत्व प्राप्त करें:
heapq
मापांक
यदि पुनर्प्राप्त किए जाने वाले तत्वों की संख्या बड़ी है, तो उन्हें पहले सॉर्ट () या सॉर्ट () का उपयोग करके सॉर्ट करना अधिक कुशल है, और यदि संख्या छोटी है, तो सबसे छोटा () और सबसे छोटा () हेपैक मॉड्यूल का अधिक कुशल है।
अधिकतम और न्यूनतम मानों की अनुक्रमणिका प्राप्त करने के लिए, अधिकतम (), न्यूनतम () और अनुक्रमणिका () का उपयोग करें।
अधिकतम और न्यूनतम मान प्राप्त करें:max(),min()
सूची के अधिकतम और न्यूनतम तत्व प्राप्त करने के लिए, अंतर्निहित कार्यों का अधिकतम () और न्यूनतम () का उपयोग करें।
l = [3, 6, 7, -1, 23, -10, 18]
print(max(l))
# 23
print(min(l))
# -10
अधिकतम और न्यूनतम मान के क्रम में n तत्व प्राप्त करें: क्रमबद्ध करें
यदि आप किसी सूची के n तत्वों को सबसे बड़े या सबसे छोटे मान से प्राप्त करना चाहते हैं, तो पहली विधि सूची को क्रमबद्ध (सॉर्ट) करना है।
सूची को सॉर्ट करने के लिए, अंतर्निहित फ़ंक्शन सॉर्ट किए गए () या सूची के सॉर्ट () विधि का उपयोग करें। सॉर्ट किया गया () एक नई सॉर्ट की गई सूची देता है, जबकि सॉर्ट () मूल सूची को पुन: व्यवस्थित करता है।
आरोही/अवरोही क्रम को तर्क रिवर्स के साथ स्विच करके और ऊपर से किसी भी संख्या में स्लाइस का चयन करके, आप सूची के सबसे बड़े/छोटे मूल्य से क्रम में n तत्व प्राप्त कर सकते हैं।
ld = sorted(l, reverse=True)
print(ld)
# [23, 18, 7, 6, 3, -1, -10]
print(ld[:3])
# [23, 18, 7]
la = sorted(l)
print(la)
# [-10, -1, 3, 6, 7, 18, 23]
print(la[:3])
# [-10, -1, 3]
आप उन सभी को एक पंक्ति में लिख सकते हैं।
print(sorted(l, reverse=True)[:3])
# [23, 18, 7]
print(sorted(l)[:3])
# [-10, -1, 3]
यदि आपको मूल सूची के क्रम को बदलने में कोई आपत्ति नहीं है, तो आप सॉर्ट () विधि का उपयोग कर सकते हैं।
print(l)
# [3, 6, 7, -1, 23, -10, 18]
l.sort(reverse=True)
print(l[:3])
# [23, 18, 7]
print(l)
# [23, 18, 7, 6, 3, -1, -10]
l.sort()
print(l[:3])
# [-10, -1, 3]
print(l)
# [-10, -1, 3, 6, 7, 18, 23]
अधिकतम और न्यूनतम मान के क्रम में n तत्व प्राप्त करें:heapqमापांक
यदि आप किसी सूची के n तत्वों को सबसे बड़े या सबसे छोटे मान से प्राप्त करना चाहते हैं, तो आप heapq मॉड्यूल का उपयोग कर सकते हैं।
heapq मॉड्यूल में निम्न फ़ंक्शन का उपयोग करें। इस मामले में, मूल सूची नहीं बदली जाएगी।
nlargest()
nsmallest()
पहला तर्क पुनर्प्राप्त किए जाने वाले तत्वों की संख्या है, और दूसरा तर्क लक्षित करने योग्य (सूची, आदि) है।
import heapq
l = [3, 6, 7, -1, 23, -10, 18]
print(heapq.nlargest(3, l))
# [23, 18, 7]
print(heapq.nsmallest(3, l))
# [-10, -1, 3]
print(l)
# [3, 6, 7, -1, 23, -10, 18]
जैसा कि मैंने शुरुआत में लिखा था, यदि पुनर्प्राप्त किए जाने वाले तत्वों की संख्या बड़ी है, तो उन्हें पहले क्रमबद्ध () या सॉर्ट () के साथ क्रमबद्ध करना अधिक कुशल है, और यदि संख्या छोटी है, तो सबसे छोटा () और सबसे छोटा () हेपैक मॉड्यूल अधिक कुशल हैं।