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.

Metodo get in list comprehension

cini.1933403 (660 points)
3 7 12
in Programmare in Python by (660 points)
E' possibile usare il metodo get dei dizionari in una list comprehension? Non riesco a capire come costruirlo e mi sta venendo il dubbio che non sia possibile.
307 views

1 Answer

AdSum (16290 points)
9 20 134
by (16.3k points)

x=[dict.get(k) for k in dict]

Ovviamente dict è una parola riservata, quindi dovrai dare un'altro nome al dizionario!

cini.1933403 (660 points)
3 7 12
by (660 points)
non dovrei usare le graffe? Non ho specificato che il get lo voglio usare per costruire il dizionario a partire da una lista, come per il classico esercizio di contare  la frequenza di una lettera in una stringa.
AdSum (16290 points)
9 20 134
by (16.3k points)
Una list comprehension serve per creare una lista, usando le graffe è una dict comprehension
cini.1933403 (660 points)
3 7 12
by (660 points)
si my bad hai ragione, non conoscevo proprio questa differenza.

Quindi per una dict comprehension è possibile?
AdSum (16290 points)
9 20 134
by (16.3k points)
Certamente, ma non con una get, non puoi usare un metodo di un oggetto per creare l'oggetto stesso. se dict non è stato ancora generato, come puoi usare dict.get()?
cini.1933403 (660 points)
3 7 12
by (660 points)
eh si infatti questo era il mio problema, che poi faccio riferimento ad una cosa che sto creando in quello stesso momento.

Grazie