Blutschlumpf
Fleet Admiral
- Registriert
- März 2001
- Beiträge
- 20.350
Hi,
ich brauche mal Hilfe mit der defaultdict() Funktion.
Ich verstehe nicht wie ich das mit einer Funktion kombiniere, die einen Parameter erwartet bzw. wie ich an den Key komme, der abgefragt wurde.
Das endet (verständlicherweise) mit "TypeError: MeineFunktion() missing 1 required positional argument: 'uebergebener_key'"
Ich finde Dutzende Beispiele, die verwenden aber alle Funktionen ohne Parameter um da nen leeren Wert oder nen statischen default-Wert zu setzen.
Konkret möchte ich hier Daten von einer langsamen API cachen.
Sprich mein_dictionary ist erstmal leer, mein_dictionary["Schnitzel"] wird das erste Mal aufgerufen, eine API wird abgefragt, die "Schnitzel" als Parameter braucht und da was zurückliefert.
Sobald mein_dictionary["Schnitzel"] das 2. mal benutzt wird, kommt der Wert direkt aus dem dictionary.
ich brauche mal Hilfe mit der defaultdict() Funktion.
Ich verstehe nicht wie ich das mit einer Funktion kombiniere, die einen Parameter erwartet bzw. wie ich an den Key komme, der abgefragt wurde.
Python:
from collections import defaultdict
def MeineFunktion(uebergebener_key):
### Irgendeine Magie, die den Wert für den Key ("Schnitzel") raussucht
return magie_ergebnis
mein_dictionary = defaultdict(MeineFunktion)
print(mein_dictionary["Schnitzel"])
Das endet (verständlicherweise) mit "TypeError: MeineFunktion() missing 1 required positional argument: 'uebergebener_key'"
Ich finde Dutzende Beispiele, die verwenden aber alle Funktionen ohne Parameter um da nen leeren Wert oder nen statischen default-Wert zu setzen.
Konkret möchte ich hier Daten von einer langsamen API cachen.
Sprich mein_dictionary ist erstmal leer, mein_dictionary["Schnitzel"] wird das erste Mal aufgerufen, eine API wird abgefragt, die "Schnitzel" als Parameter braucht und da was zurückliefert.
Sobald mein_dictionary["Schnitzel"] das 2. mal benutzt wird, kommt der Wert direkt aus dem dictionary.