On Sun, 28 May 2023 at 20:42, Gabriele Battaglia <iz4...@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. _______________________________________________ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python