Scrivere un'istruzione if per verificare se una chiave esiste nel dizionario e poi accedervi può diventare ripetitivo e fastidioso. Questi controlli ripetitivi possono essere eliminati accedendo agli elementi in modo sicuro attraverso il metodo .get():
# Immaginiamo di avere un ottimo team per una startup
team = {
'HR': ['John Smith', 'Taylor Vu'],
'Designers': ['Garry Tan'],
'Developers': ['Linus Torvalds', 'Yegor Bugayenko'],
}
if 'HR' in team:
print(team['HR'])
else:
print([])
if 'QA' in team:
print(team['QA'])
else:
print([])
Qui accediamo al dizionario team con il metodo .get(), dove forniamo la chiave come primo parametro (HR o QA), e un valore di default come secondo parametro (una lista vuota in questo esempio).
Un altro esempio potrebbe essere accedere a un dizionario con un valore di default come un numero o una stringa: population.get('China', '~1.5 Billion'). Se la chiave China esiste nel dizionario population, il programma restituirà il valore corrispondente. Ma se China non è presente nel dizionario population, il programma restituirà '~1.5 Billion'.
Sfida
Un dizionario di antonimi contiene parole con significati opposti. Dati n coppie di parole antonime, ti viene chiesto di stampare q antonimi per le q parole che seguono, e Not found se quelle parole non sono presenti nella lista iniziale. È garantito che le parole nelle coppie di antonimi siano uniche.
La prima riga dell'input contiene un singolo intero n che è il numero di coppie di antonimi. Le successive n righe contengono due parole separate da uno spazio che rappresentano le coppie di antonimi. La riga successiva contiene un singolo intero q - il numero di parole da cercare. Le successive q righe contengono una singola parola.
Il programma dovrebbe stampare q righe. Ogni riga dovrebbe contenere l'antonimo o Not found se l'antonimo non è presente nella lista iniziale.
Input
Output
5
warm cold
sunny cloudy
fast slow
tired energetic
love hate
3
warm
hate
potato