Strumenti Utente

Strumenti Sito


definire_una_funzione_in_python

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisione Revisione precedente
Prossima revisione
Revisione precedente
definire_una_funzione_in_python [2021/06/03 07:33]
31.156.199.251
definire_una_funzione_in_python [2021/10/29 21:19] (versione attuale)
deleteme versione precedente ripristinata (2021/06/03 07:51)
Linea 5: Linea 5:
 #creazione del testo dal corpus LDT #creazione del testo dal corpus LDT
 import xml.etree.ElementTree as ET import xml.etree.ElementTree as ET
-parole=ET.parse('Testi/ldt-1.5.xml').getroot().findall('.//word')+parole=ET.parse('testi/ldt-1.5.xml').getroot().findall('.//word')
 testo=[i.attrib['form'].lower() for i in parole] testo=[i.attrib['form'].lower() for i in parole]
  
Linea 26: Linea 26:
 Una volta definita la funzione, per un qualsiasi testo in forma di lista basterà scrivere quanto segue per visualizzare la parola cercata: Una volta definita la funzione, per un qualsiasi testo in forma di lista basterà scrivere quanto segue per visualizzare la parola cercata:
 <code python> <code python>
-print trovaparola(testo,5)+print(trovaparola(testo,5))
 </code> </code>
 Se può essere scritta in una sola riga (come accade nel nostro caso a patto che si usi //sorted// e non //sort()// per ordinare la lista), la funzione può essere definita in alternativa attraverso il comando //lambda//. Se può essere scritta in una sola riga (come accade nel nostro caso a patto che si usi //sorted// e non //sort()// per ordinare la lista), la funzione può essere definita in alternativa attraverso il comando //lambda//.
 <code python> <code python>
 trovaparolabis = lambda t, r: sorted([[t.count(i), i] for i in set(t)], reverse=True)[r-1][2-1] trovaparolabis = lambda t, r: sorted([[t.count(i), i] for i in set(t)], reverse=True)[r-1][2-1]
 +</code>
 +----
 +In un unico script:
 +<code python es_funzione.py>
 +def trovaparola(t,r): #tra parentesi sono scritte le variabili in input
 +    fp=[[t.count(i), i] for i in set(t)]
 +    fp=sorted(fp, reverse=True) #o, in alternativa: fp.sort(reverse=True)
 +    return fp[r-1][2-1] #il comando return definisce l'output della funzione
 +
 +trovaparolabis = lambda t, r: sorted([[t.count(i), i] for i in set(t)], reverse=True)[r-1][2-1]
 +
 +import xml.etree.ElementTree as ET
 +parole=ET.parse('testi/ldt-1.5.xml').getroot().findall('.//word')
 +testo=[i.attrib['form'].lower() for i in parole]
 +
 +print(trovaparola(testo,5))
 +print(trovaparolabis(testo,5))
 +
 </code> </code>
definire_una_funzione_in_python.1622705627.txt.gz · Ultima modifica: 2021/06/03 07:33 da 31.156.199.251