Sto cercando un modo elegante per estrarre alcuni valori da un dict Python in valori locali.Un modo elegante per decomprimere valori di dict limitati in variabili locali in Python
qualcosa di equivalente a questo, ma più pulito per un elenco di valori più a lungo, e per la chiave/nomi di variabili più lunghi:
d = { 'foo': 1, 'bar': 2, 'extra': 3 }
foo, bar = d['foo'], d['bar']
Mi è stato originariamente spera in qualcosa di simile al seguente:
foo, bar = d.get_tuple('foo', 'bar')
Posso facilmente scrivere una funzione che non è male:
def get_selected_values(d, *args):
return [d[arg] for arg in args]
foo, bar = get_selected_values(d, 'foo', 'bar')
Ma continuo ad avere nascosto il sospetto che ci sia un altro modo integrato.
Mi dispiace chiedere, ma * perché * vorresti farlo? –
Potrebbe essere utile dare un'occhiata a una domanda su ambito e contesti su cui ho lavorato prima:. Questo potrebbe essere eccessivo per te, ma è stata una buona soluzione per me essere in grado di lavorare con oggetti dati scompattati da certe strutture dati e semplificare notevolmente la sintassi dell'applicazione di operazioni matematiche a loro. –
ely
Sto gestendo le strutture JSON in cui i valori 3-4 sono importanti per una logica di routing piuttosto complicata, ma in cui la struttura originale deve essere passata all'elaborazione finale. – DonGar