Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

aiuto su come migliorare la terza richiesta

Light (5130 points)
59 181 229
in Es2 by (5.1k points)
sto cercando di migliorare il secondo esercizio perche mi viene 8/8 ma con timeout ne passo 5...la prima richiesta l'ho migliorata facendo un dizionario(come avete consigliato qua) invece di un count(che a quanto pare è lentissimo) e ho visto che nella terza richiesta faccio addirittura 2 count...quindi vorrei chiedere se mi potete aiutare a migliorare la terza richiesta come posso fare?
367 views
closed

1 Answer

Best answer
a.capobianco1 (16770 points)
14 54 165
by (16.8k points)
selected by

ciao l'unico consiglio che posso darti e che ho appena scoperto è questo:

Prova a simulare con %time  su spyder: 

  1. una funzione che aggiunge 1 ad un elemento in LISTA in un ciclo for da 500000 cicli o più
  2. una funzione che aggiorna un elemento di un dizionario in un ciclo for da 500000 cicli o più
indovina chi è più veloce? 
Ho scoperto che sono le liste quindi se lavori, in questo caso, solo con le liste e poi solo alla fine iteri per scrivere nel dizionario recuperi qualcosa… io mezzo secondo ma l'esercizio non lo ricarico… 
Light (5130 points)
59 181 229
by (5.1k points)
ho letto il tuo post e mi dispiace per l'accaduto in primis
Light (5130 points)
59 181 229
by (5.1k points)
posso inventarmi quindi qualcosa con i dizionari pure qua?
a.capobianco1 (16770 points)
14 54 165
by (16.8k points)
Per quel poco che ho capito in questo esercizio li liste sono più veloci se ci devi scrivere dentro in continuazione. Quindi in questo caso il dizionario lo metterei alla fine.

Ps: grazie x il post. Credo di aver espresso cosa di interesse comune.
Xriuk (13590 points)
8 24 116
by (13.6k points)
Le liste magari sono più veloci in scrittura (in quanto gli elementi vengono aggiunti in coda e basta), per un dizionario è più complesso.

Però per quanto riguarda la lettura i dizionari sono molto più veloci delle liste, perchè consentono di accedere immediatamente ad ogni elemento, per le liste è un po' diverso.