Python मधील सर्वात मोठ्या आणि सर्वात लहान मूल्यांमधून क्रमाने सूचीचे n घटक मिळवणे

व्यवसाय

जर तुम्हाला Python मधील सर्वात मोठ्या किंवा सर्वात लहान व्हॅल्यू आणि n=1 मधून सूचीचे n घटक (अॅरे) मिळवायचे असतील, तर तुम्ही खालील बिल्ट-इन फंक्शन वापरू शकता.

  • max()
  • min()

n>1 असल्यास, सूची क्रमवारी लावण्याचे किंवा मानक लायब्ररीचे heapq मॉड्यूल वापरण्याचे दोन मार्ग आहेत.

  • कमाल आणि किमान मूल्ये मिळवा:max(),min()
  • कमाल आणि किमान मूल्याच्या क्रमाने n घटक मिळवा:क्रमवारी लावा
  • कमाल आणि किमान मूल्याच्या क्रमाने n घटक मिळवा:heapqमॉड्यूल

पुनर्प्राप्त करण्‍याच्‍या घटकांची संख्‍या मोठी असल्‍यास, प्रथम त्यांना सॉर्टेड() किंवा सॉर्ट() वापरून क्रमवारी लावणे अधिक कार्यक्षम असते आणि जर संख्‍या लहान असेल तर heapq मॉड्यूलचे nargest() आणि nsmallest() अधिक कार्यक्षम असतात.

कमाल आणि किमान मूल्यांची अनुक्रमणिका मिळविण्यासाठी, max(), min() आणि index() वापरा.

कमाल आणि किमान मूल्ये मिळवा:max(),min()

सूचीचे कमाल आणि किमान घटक मिळविण्यासाठी, अंगभूत फंक्शन्स max() आणि min() वापरा.

l = [3, 6, 7, -1, 23, -10, 18]

print(max(l))
# 23

print(min(l))
# -10

कमाल आणि किमान मूल्याच्या क्रमाने n घटक मिळवा: क्रमवारी लावा

जर तुम्हाला सूचीचे n घटक सर्वात मोठ्या किंवा सर्वात लहान मूल्यातून क्रमाने मिळवायचे असतील, तर पहिली पद्धत म्हणजे यादीची क्रमवारी लावणे (क्रमवारी लावणे).

सूची क्रमवारी लावण्यासाठी, बिल्ट-इन फंक्शन sorted() किंवा यादीची sort() पद्धत वापरा. sorted() नवीन क्रमवारी केलेली सूची परत करते, तर sort() मूळ सूचीची पुनर्क्रमण करते.

आर्ग्युमेंट रिव्हर्ससह चढत्या/उतरत्या क्रमाने स्विच करून आणि वरून कितीही स्लाइस निवडून, तुम्ही सूचीच्या सर्वात मोठ्या/किरकोळ मूल्यातून क्रमाने 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]

मूळ यादीचा क्रम बदलण्यास तुमची हरकत नसेल, तर तुम्ही sort() पद्धत वापरू शकता.

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]

मी सुरुवातीला लिहिल्याप्रमाणे, पुनर्प्राप्त करण्‍याच्‍या घटकांची संख्‍या मोठी असल्‍यास, त्‍यांना प्रथम sorted() किंवा sort(), आणि जर संख्‍या लहान असेल तर, nargest() आणि nsmallest() सह क्रमवारी लावणे अधिक कार्यक्षम आहे. heapq मॉड्यूल अधिक कार्यक्षम आहेत.

Copied title and URL