Heim > Backend-Entwicklung > Python-Tutorial > Implementierungscode zum Finden der größten oder kleinsten N Elemente in Python

Implementierungscode zum Finden der größten oder kleinsten N Elemente in Python

不言
Freigeben: 2018-10-11 14:15:10
nach vorne
2486 Leute haben es durchsucht

Was dieser Artikel Ihnen bringt, ist der Implementierungscode zum Finden der größten oder kleinsten N-Elemente in Python. Er hat einen gewissen Referenzwert. Ich hoffe, er wird Ihnen hilfreich sein.

1. Anforderungen

Wir wollen die größten oder kleinsten N-Elemente in einer Menge finden

2 🎜>Es gibt zwei Funktionen im Heapq-Modul: nlargest() und nsmallest()

Code:

import heapq
nums=[1,444,66,77,34,67,2,6,8,2,4,9,556]
print(heapq.nlargest(3,nums))
print(heapq.nsmallest(3,nums))
Nach dem Login kopieren

Ergebnis:

[556, 444, 77]
[1, 2, 2]
Nach dem Login kopieren

Diese beiden Jede Funktion kann Akzeptieren Sie einen Parameterschlüssel, damit sie an komplexeren Datenstrukturen arbeiten können:

Code:

import heapq
portfolio=[
    {'name':'IBM','shares':100,'price':91.1},
    {'name':'AAPL','shares':50,'price':543.22},
    {'name':'FB','shares':200,'price':21.09},
    {'name':'HPQ','shares':35,'price':31.75},
    {'name':'YHOO','shares':45,'price':16.35},
]
cheap=heapq.nsmallest(3,portfolio,key=lambda s:s['price'])
expensive=heapq.nlargest(3,portfolio,key=lambda s:s['price'])
print(cheap)
print(expensive)
Nach dem Login kopieren

Ergebnis:

[{'name': 'YHOO', 'shares': 45, 'price': 16.35}, {'name': 'FB', 'shares': 200, 'price': 21.09}, {'name': 'HPQ', 'shares': 35, 'price': 31.75}]
[{'name': 'AAPL', 'shares': 50, 'price': 543.22}, {'name': 'IBM', 'shares': 100, 'price': 91.1}, {'name': 'HPQ', 'shares': 35, 'price': 31.75}]
Nach dem Login kopieren

Wenn es nur einfach ist, das kleinste oder größte Element zu finden (N=1), ist es schneller, min() und max() zu verwenden.

Das obige ist der detaillierte Inhalt vonImplementierungscode zum Finden der größten oder kleinsten N Elemente in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage