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:
heapq
Moduli
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.
- Artikuj të ngjashëm:Renditja e një liste në Python: ndryshimi midis renditur dhe renditur
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.