पाइथनमा सबैभन्दा ठूलो र सानो मानहरूबाट सूचीको n तत्वहरू प्राप्त गर्दै

व्यापार

यदि तपाइँ पाइथनको सबैभन्दा ठूलो वा सानो मानबाट सूची (एरे) को n तत्वहरू प्राप्त गर्न चाहनुहुन्छ भने, र n=1, तपाइँ निम्न निर्मित प्रकार्य प्रयोग गर्न सक्नुहुन्छ।

  • max()
  • min()

यदि n>1, त्यहाँ सूची क्रमबद्ध गर्न वा मानक पुस्तकालयको heapq मोड्युल प्रयोग गर्ने दुई तरिकाहरू छन्।

  • अधिकतम र न्यूनतम मानहरू प्राप्त गर्नुहोस्:max(),min()
  • अधिकतम र न्यूनतम मानको क्रममा n तत्वहरू प्राप्त गर्नुहोस्:क्रमबद्ध
  • अधिकतम र न्यूनतम मानको क्रममा n तत्वहरू प्राप्त गर्नुहोस्:heapqमोड्युल

यदि पुन: प्राप्त गर्नु पर्ने तत्वहरूको संख्या ठूलो छ भने, पहिले तिनीहरूलाई क्रमबद्ध () वा क्रमबद्ध () प्रयोग गरेर क्रमबद्ध गर्न अधिक कुशल छ, र यदि संख्या सानो छ भने, heapq मोड्युलको nargest() र nsmallest() अधिक कुशल छन्।

अधिकतम र न्यूनतम मानहरूको अनुक्रमणिका प्राप्त गर्न, अधिकतम(), न्यूनतम() र अनुक्रमणिका() प्रयोग गर्नुहोस्।

अधिकतम र न्यूनतम मानहरू प्राप्त गर्नुहोस्: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]

मैले सुरुमा लेखेझैं, यदि पुन: प्राप्त गर्ने तत्वहरूको संख्या ठूलो छ भने, तिनीहरूलाई पहिले क्रमबद्ध () वा क्रमबद्ध (), र यदि संख्या सानो छ भने, nargest() र nsmallest() को साथ क्रमबद्ध गर्न अधिक प्रभावकारी छ। heapq मोड्युल अधिक कुशल छन्।

Copied title and URL