habe aktuell folgendes Problem.
Ich hab 2 Listen. Die erste Liste enthält Kontostände. Also zum Beispiel so:
[500, 700, 800, 650, 1000, 1500, 2400, 1750, 1800, 1900]
Daraus generiere ich eine zweite Liste, welche gemäss der Kontostandsliste den Gewinn/Verlust ermittelt, also wäre das so:
[500, 200, 100, -150, 350, 500, 900, -650, 50, 100]
Nun möchte ich die x (am besten beliebig einstellbar via Input zum Beispiel) grössten und kleinsten Werte aus der Gewinn/Verlust Liste entfernen und entsprechend eine korrekte, neue Kontostandsliste bauen.
Nun, wenn man für x einen festen Wert annimmt, dann hab ich eine (ziemlich) unelegante Lösung.
Mal angenommen, man nimmt für x = 2 an, dann lass ich 2 mal folgende Schleife für die max-Werte laufen, dann noch 2 mal für die Min werte, und dann bastel ich daraus eine neue Kontostandsliste. Das kommt mir aber maximal umständlich vor und es ist wie gesagt nicht dynamisch für x.
Code: Alles auswählen
#max-werte entfernen
for c in range(0,len(list_gewinn_verlust)):
if list_gewinn_verlust[c] == max(list_gewinn_verlust):
list_gewinn_verlust.pop(c)
break
for c in range(0,len(list_gewinn_verlust)):
if list_gewinn_verlust[c] == max(list_gewinn_verlust):
list_gewinn_verlust.pop(c)
break
#min-werte entfernen
for c in range(0,len(list_gewinn_verlust)):
if list_gewinn_verlust[c] == min(list_gewinn_verlust):
list_gewinn_verlust.pop(c)
break
for c in range(0,len(list_gewinn_verlust)):
if list_gewinn_verlust[c] == min(list_gewinn_verlust):
list_gewinn_verlust.pop(c)
break
Gruss