[Python] Ricerca in un dizionario.
Andrea D'Amore
a a d-amo.re
Lun 29 Maggio 2023 00:18:10 CEST
On Sun, 28 May 2023 at 20:42, Gabriele Battaglia <iz4apu a libero.it> wrote:
> Ho un dizionario. Ci sono tutte le chiavi naturalmente, e i valori sono
> lunghe liste che contengono diversi tipi di dati, soprattutto stringhe e
> booleani.
> Ho una chiave di ricerca, una stringa. Devo passarla ad una funzione e
> questa mi deve tornare la prima chiave del dizionario se, la parola che
> cerco è compresa nella chiave stessa o in uno degli elementi contenuti
> nella lista di valori di quella chiave.
> Esempio, se cerco "nonno", la funzione mi deve tornare sia
> {'Nonno':[2,3,4,5.....]}
> che anche
> {'mamma':['figlia','nonno',......]}
Con queste premesse io farei
def foo(target, data):
for k, v in data.items():
if target in k or any(isinstance(item, str) and target in
item for item in v):
return {k: v}
Ci sono dovuto ritornare perché all'inizio mi era sfuggito che "la
parola è compresa".
--
A.
Maggiori informazioni sulla lista
Python