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.

Velocità Try except

alessioclemente (19640 points)
19 67 153
in Info sul corso e sugli esami by (19.6k points)
edited by
Salve, per cancellare delle stringhe vuote da una lista ho usato un while True dentro un try except, in modo da cancellare ad ogni iterazione un "", ma riguardandolo mi rendo conto che sarebbe meglio usare un while "" in riga. Andando però a consegnare, questo codice passa 2 test in meno(va in timeout). Ho provato anche ad usare la funzione filter, che mi sembrava piu veloce ma niente, i test li passa solo nel primo modo. Come è possibile?
562 views

2 Answers

Xriuk (13590 points)
8 24 116
by (13.6k points)
Come usi try/except, cioè qual'è il metodo che genera l'eccezione?
alessioclemente (19640 points)
19 67 153
by (19.6k points)
Il fatto che non ci sia nessun "" da togliere, e in quel caso viene richiamato "pass"
Xriuk (13590 points)
8 24 116
by (13.6k points)
Ah, ma sei sicuro che ti serve cancellare elementi dalla lista? Che lista è? (Magari anche di che esercizio stai parlando?)
alessioclemente (19640 points)
19 67 153
by (19.6k points)
Nell'esercizio2, creo una lista per ogni post. Non so se c'è un modo per farlo senza creare spazi bianchi :/
Xriuk (13590 points)
8 24 116
by (13.6k points)
Non è più veloce scorrere direttamente la lista saltando gli elementi vuoti senza cancellarli?
alessioclemente (19640 points)
19 67 153
by (19.6k points)
Può darsi... ora non ci penso perchè devo fare l'esercizio 3, poi penserò ad ottimizzarlo. La mia domanda è: come è possibile che un try except messo in modo stupido come questo, sia piu veloce di mettere una condizione nel while oppure usare filter, che in teoria è la piu veloce.
Xriuk (13590 points)
8 24 116
by (13.6k points)
Così a naso ti direi che le eccezioni funzionano diversamente dalle condizioni di un while
alessioclemente (19640 points)
19 67 153
by (19.6k points)
Boh.. io sapevo che bisognava usare il try except solo in caso in cui l'errore non capiti spesso.
andrea.sterbini (207940 points)
756 1270 2377
by (208k points)
Quante volte generi l"eccezione?
alessioclemente (19640 points)
19 67 153
by (19.6k points)
Spesso, visto che è l'unico modo per uscire dal while. E' per questo che mi fa strano, non sarebbe meglio mettere come condizione del while avere un "" presente nella stringa?