Comprensión de diccionarios

Una de las formas más sencillas de crear diccionarios es mediante comprensiones. Al igual que con las comprensiones de listas, es posible crear un diccionario con un bucle for en línea:
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}
Al igual que en las comprensiones de listas o conjuntos, todas las reglas de filtrado o elementos condicionales también se aplican a las comprensiones de diccionarios.
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'}

Desafío

Dados n números separados por un espacio, se te pide crear un diccionario que asocie cada número con su cubo, eliminando todos los números cuyo cuadrado termina en 6.
La única línea de entrada contiene números separados por espacios.
El programa debe imprimir los números que cumplen la condición junto con su cubo.
Entrada
Salida
5 4 8 9 6 2 0 -4
5 125 8 512 9 729 2 8 0 0
¿Puedes resolver esto en una sola línea 😎?
 

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