Comprensione dei dizionari

Uno dei modi più semplici per creare dizionari è attraverso la comprensione. Analogamente alla comprensione delle liste, è possibile creare un dizionario con un ciclo for inline:
squares = {n: n**2 for n in range(1, 11)}
print(squares)
# {1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100}
Così come nelle comprensioni di liste o insiemi, tutte le regole di filtraggio o gli elementi condizionali si applicano anche alla comprensione dei dizionari.
names = ['Bob', 'Anna', 'Charles']
surnames = ['Brown', 'Kennedy', 'Jackson']

people = {names[i]: surnames[i] for i in range(len(names)) if names[i] != 'Anna'}
print(people)
# {'Bob': 'Brown', 'Charles': 'Jackson'}

Sfida

Data una serie di n numeri separati da uno spazio, ti viene chiesto di creare un dizionario che associ il numero al suo cubo, eliminando tutti i numeri il cui quadrato termina con 6.
L'unica linea di input contiene numeri separati da spazi.
Il programma dovrebbe stampare i numeri che soddisfano la condizione con il loro cubo.
Input
Output
5 4 8 9 6 2 0 -4
5 125 8 512 9 729 2 8 0 0
Riesci a risolvere questo in una sola riga 😎?
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue