Marrja e n elementeve të një liste nga vlerat më të mëdha dhe më të vogla në Python

biznes

Nëse dëshironi të merrni n elementet e një liste (vargu) sipas renditjes nga vlera më e madhe ose më e vogël në Python, dhe n=1, mund të përdorni funksionin e integruar të mëposhtëm.

  • max()
  • min()

Nëse n>1, ka dy mënyra për të renditur listën ose për të përdorur modulin heapq të bibliotekës standarde.

  • Merrni vlerat maksimale dhe minimale:max(),min()
  • Merrni n elementë sipas rendit të vlerës maksimale dhe minimale:rendit
  • Merrni n elementë sipas rendit të vlerës maksimale dhe minimale:heapqModuli

Nëse numri i elementeve që do të merren është i madh, është më efikase t’i renditni ato së pari duke përdorur sorted() ose sort(), dhe nëse numri është i vogël, nargest() dhe nsmallest() të modulit heapq janë më efikase.

Për të marrë indekset e vlerave maksimale dhe minimale, përdorni max(), min() dhe index().

Merrni vlerat maksimale dhe minimale:max(),min()

Për të marrë elementet maksimale dhe minimale të listës, përdorni funksionet e integruara max() dhe min().

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

print(max(l))
# 23

print(min(l))
# -10

Merrni n elemente sipas rendit të vlerës maksimale dhe minimale: Rendit

Nëse dëshironi të merrni n elementët e një liste në rend nga vlera më e madhe ose më e vogël, metoda e parë është të renditni (renditni) listën.

Për të renditur listën, përdorni funksionin e integruar sorted() ose metodën sort() të listës. sorted() kthen një listë të re të renditur, ndërsa sort() rirendit listën origjinale.

Duke ndërruar rendin rritës/zbritës me argumentin e kundërt dhe duke zgjedhur çdo numër fetash nga lart, mund të merrni n elementë në rend nga vlera më e madhe/vogël e listës.

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]

Mund t’i shkruani të gjitha në një rresht.

print(sorted(l, reverse=True)[:3])
# [23, 18, 7]

print(sorted(l)[:3])
# [-10, -1, 3]

Nëse nuk keni problem të ndryshoni rendin e listës origjinale, mund të përdorni metodën 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]

Merrni n elementë sipas rendit të vlerës maksimale dhe minimale:heapqModuli

Nëse dëshironi të merrni n elementët e një liste në rend nga vlera më e madhe ose më e vogël, mund të përdorni modulin heapq.

Përdorni funksionin e mëposhtëm në modulin heapq. Në këtë rast, lista origjinale nuk do të ndryshohet.

  • nlargest()
  • nsmallest()

Argumenti i parë është numri i elementeve që do të merren, dhe argumenti i dytë është iterabilja (lista, etj.) që do të synohet.

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]

Siç shkrova në fillim, nëse numri i elementeve që do të merren është i madh, është më efikase t’i renditni ato së pari me sorted() ose sort(), dhe nëse numri është i vogël, më i vogël () dhe nsmallest() i moduli heapq janë më efikas.

Copied title and URL