Hallo,
Ich habe eine Liste mit Dax-Kursen:
liste = [['DAX (EDE)', '20.12.2018', 10611.1], ['DAX (EDE)', '21.12.2018', 10633.82],
['DAX (EDE)', '27.12.2018', 10381.51], ['DAX (EDE)', '28.12.2018', 10558.96],
['DAX (EDE)', '02.01.2019', 10580.19], ['DAX (EDE)', '03.01.2019', 10416.66],
['DAX (EDE)', '04.01.2019', 10767.69], ['DAX (EDE)', '07.01.2019', 10747.81],
['DAX (EDE)', '08.01.2019', 10803.98], ['DAX (EDE)', '09.01.2019', 10893.32],
['DAX (EDE)', '10.01.2019', 10921.59], ['DAX (EDE)', '11.01.2019', 10887.46],
['DAX (EDE)', '14.01.2019', 10855.91], ['DAX (EDE)', '15.01.2019', 10891.79],
['DAX (EDE)', '16.01.2019', 10931.24], ['DAX (EDE)', '17.01.2019', 10918.62]]
In dieser Liste soll das Maximum gefunden werden und in dieser Form ausgegeben werden: ['DAX (EDE)', '16.01.2019', 10931.24].
Wer kann helfen?
Maximum in einer Liste finden und ausgeben
liste = [['DAX (EDE)', '20.12.2018', 10611.1], ['DAX (EDE)', '21.12.2018', 10633.82],
['DAX (EDE)', '27.12.2018', 10381.51], ['DAX (EDE)', '28.12.2018', 10558.96],
['DAX (EDE)', '02.01.2019', 10580.19], ['DAX (EDE)', '03.01.2019', 10416.66],
['DAX (EDE)', '04.01.2019', 10767.69], ['DAX (EDE)', '07.01.2019', 10747.81],
['DAX (EDE)', '08.01.2019', 10803.98], ['DAX (EDE)', '09.01.2019', 10893.32],
['DAX (EDE)', '10.01.2019', 10921.59], ['DAX (EDE)', '11.01.2019', 10887.46],
['DAX (EDE)', '14.01.2019', 10855.91], ['DAX (EDE)', '15.01.2019', 10891.79],
['DAX (EDE)', '16.01.2019', 10931.24], ['DAX (EDE)', '17.01.2019', 10918.62]]
liste_nur_kurs = [kurs for name, datum, kurs in liste]
Maximum = max(liste_nur_kurs)
print(liste_nur_kurs)
print("Maxumum = ", Maximum)
['DAX (EDE)', '27.12.2018', 10381.51], ['DAX (EDE)', '28.12.2018', 10558.96],
['DAX (EDE)', '02.01.2019', 10580.19], ['DAX (EDE)', '03.01.2019', 10416.66],
['DAX (EDE)', '04.01.2019', 10767.69], ['DAX (EDE)', '07.01.2019', 10747.81],
['DAX (EDE)', '08.01.2019', 10803.98], ['DAX (EDE)', '09.01.2019', 10893.32],
['DAX (EDE)', '10.01.2019', 10921.59], ['DAX (EDE)', '11.01.2019', 10887.46],
['DAX (EDE)', '14.01.2019', 10855.91], ['DAX (EDE)', '15.01.2019', 10891.79],
['DAX (EDE)', '16.01.2019', 10931.24], ['DAX (EDE)', '17.01.2019', 10918.62]]
liste_nur_kurs = [kurs for name, datum, kurs in liste]
Maximum = max(liste_nur_kurs)
print(liste_nur_kurs)
print("Maxumum = ", Maximum)
Und:
import numpy as np
liste = [['DAX (EDE)', '20.12.2018', 10611.1], ['DAX (EDE)', '21.12.2018', 10633.82],
['DAX (EDE)', '27.12.2018', 10381.51], ['DAX (EDE)', '28.12.2018', 10558.96],
['DAX (EDE)', '02.01.2019', 10580.19], ['DAX (EDE)', '03.01.2019', 10416.66],
['DAX (EDE)', '04.01.2019', 10767.69], ['DAX (EDE)', '07.01.2019', 10747.81],
['DAX (EDE)', '08.01.2019', 10803.98], ['DAX (EDE)', '09.01.2019', 10893.32],
['DAX (EDE)', '10.01.2019', 10921.59], ['DAX (EDE)', '11.01.2019', 10887.46],
['DAX (EDE)', '14.01.2019', 10855.91], ['DAX (EDE)', '15.01.2019', 10891.79],
['DAX (EDE)', '16.01.2019', 10931.24], ['DAX (EDE)', '17.01.2019', 10918.62]]
np_liste = np.array(liste)
print(np_liste)
Aber das Programm macht aus float wieder string...
import numpy as np
liste = [['DAX (EDE)', '20.12.2018', 10611.1], ['DAX (EDE)', '21.12.2018', 10633.82],
['DAX (EDE)', '27.12.2018', 10381.51], ['DAX (EDE)', '28.12.2018', 10558.96],
['DAX (EDE)', '02.01.2019', 10580.19], ['DAX (EDE)', '03.01.2019', 10416.66],
['DAX (EDE)', '04.01.2019', 10767.69], ['DAX (EDE)', '07.01.2019', 10747.81],
['DAX (EDE)', '08.01.2019', 10803.98], ['DAX (EDE)', '09.01.2019', 10893.32],
['DAX (EDE)', '10.01.2019', 10921.59], ['DAX (EDE)', '11.01.2019', 10887.46],
['DAX (EDE)', '14.01.2019', 10855.91], ['DAX (EDE)', '15.01.2019', 10891.79],
['DAX (EDE)', '16.01.2019', 10931.24], ['DAX (EDE)', '17.01.2019', 10918.62]]
np_liste = np.array(liste)
print(np_liste)
Aber das Programm macht aus float wieder string...
- __blackjack__
- User
- Beiträge: 13079
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@reddy: Und was gefällt Dir nun am Ergebnis der ersten Variante nicht?
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Das Datum ist wichtig, weil ich den Dax seit 1980 in 17-Handelstagen auswerte.
Das Ergebnis möchte ich dann in einer anderen Liste speichern und dann die Werte mit dem gleichen Datum zählen.
So ergeben sich lokale Hochs beim Dax (vermute ich).
Das Ergebnis möchte ich dann in einer anderen Liste speichern und dann die Werte mit dem gleichen Datum zählen.
So ergeben sich lokale Hochs beim Dax (vermute ich).
- __blackjack__
- User
- Beiträge: 13079
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@reddy: Dann erstelle keine zusätzliche Liste sondern wende `max()` auf die Originale Liste mit einer passenden Funktion als Argument für `key` an. Entweder ein ``lambda``-Ausdruck, oder Du erstellst die mit `operator.itemgetter()`.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Daran habe ich gar nicht gedacht!
Wenn man die Liste mit itemgetter sortiert, ist der erste Element gleichzeitig der mit dem Maximumwert.
import numpy as np
from operator import itemgetter
liste = [['DAX (EDE)', '20.12.2018', 10611.1], ['DAX (EDE)', '21.12.2018', 10633.82],
['DAX (EDE)', '27.12.2018', 10381.51], ['DAX (EDE)', '28.12.2018', 10558.96],
['DAX (EDE)', '02.01.2019', 10580.19], ['DAX (EDE)', '03.01.2019', 10416.66],
['DAX (EDE)', '04.01.2019', 10767.69], ['DAX (EDE)', '07.01.2019', 10747.81],
['DAX (EDE)', '08.01.2019', 10803.98], ['DAX (EDE)', '09.01.2019', 10893.32],
['DAX (EDE)', '10.01.2019', 10921.59], ['DAX (EDE)', '11.01.2019', 10887.46],
['DAX (EDE)', '14.01.2019', 10855.91], ['DAX (EDE)', '15.01.2019', 10891.79],
['DAX (EDE)', '16.01.2019', 10931.24], ['DAX (EDE)', '17.01.2019', 10918.62]]
liste.sort(key=itemgetter(2), reverse=True)
print(liste[0])
VIELEN DANK!
Wenn man die Liste mit itemgetter sortiert, ist der erste Element gleichzeitig der mit dem Maximumwert.
import numpy as np
from operator import itemgetter
liste = [['DAX (EDE)', '20.12.2018', 10611.1], ['DAX (EDE)', '21.12.2018', 10633.82],
['DAX (EDE)', '27.12.2018', 10381.51], ['DAX (EDE)', '28.12.2018', 10558.96],
['DAX (EDE)', '02.01.2019', 10580.19], ['DAX (EDE)', '03.01.2019', 10416.66],
['DAX (EDE)', '04.01.2019', 10767.69], ['DAX (EDE)', '07.01.2019', 10747.81],
['DAX (EDE)', '08.01.2019', 10803.98], ['DAX (EDE)', '09.01.2019', 10893.32],
['DAX (EDE)', '10.01.2019', 10921.59], ['DAX (EDE)', '11.01.2019', 10887.46],
['DAX (EDE)', '14.01.2019', 10855.91], ['DAX (EDE)', '15.01.2019', 10891.79],
['DAX (EDE)', '16.01.2019', 10931.24], ['DAX (EDE)', '17.01.2019', 10918.62]]
liste.sort(key=itemgetter(2), reverse=True)
print(liste[0])
VIELEN DANK!
liste = [['DAX (EDE)', '20.12.2018', 10611.1], ['DAX (EDE)', '21.12.2018', 10633.82],
['DAX (EDE)', '27.12.2018', 10381.51], ['DAX (EDE)', '28.12.2018', 10558.96],
['DAX (EDE)', '02.01.2019', 10580.19], ['DAX (EDE)', '03.01.2019', 10416.66],
['DAX (EDE)', '04.01.2019', 10767.69], ['DAX (EDE)', '07.01.2019', 10747.81],
['DAX (EDE)', '08.01.2019', 10803.98], ['DAX (EDE)', '09.01.2019', 10893.32],
['DAX (EDE)', '10.01.2019', 10921.59], ['DAX (EDE)', '11.01.2019', 10887.46],
['DAX (EDE)', '14.01.2019', 10855.91], ['DAX (EDE)', '15.01.2019', 10891.79],
['DAX (EDE)', '16.01.2019', 10931.24], ['DAX (EDE)', '17.01.2019', 10918.62]]
x = max(liste, key=lambda x:x[2])
print(x)
Das habe ich gesucht! Danke schön für die Ideen!
['DAX (EDE)', '27.12.2018', 10381.51], ['DAX (EDE)', '28.12.2018', 10558.96],
['DAX (EDE)', '02.01.2019', 10580.19], ['DAX (EDE)', '03.01.2019', 10416.66],
['DAX (EDE)', '04.01.2019', 10767.69], ['DAX (EDE)', '07.01.2019', 10747.81],
['DAX (EDE)', '08.01.2019', 10803.98], ['DAX (EDE)', '09.01.2019', 10893.32],
['DAX (EDE)', '10.01.2019', 10921.59], ['DAX (EDE)', '11.01.2019', 10887.46],
['DAX (EDE)', '14.01.2019', 10855.91], ['DAX (EDE)', '15.01.2019', 10891.79],
['DAX (EDE)', '16.01.2019', 10931.24], ['DAX (EDE)', '17.01.2019', 10918.62]]
x = max(liste, key=lambda x:x[2])
print(x)
Das habe ich gesucht! Danke schön für die Ideen!