Como criar uma lista de valores em uma compreensão de dicionário em Python
Tomando um exemplo muito simples de repetir uma frase e criar um dicionário que mapeia{x:y}
, Ondex
é uma chave que representa o comprimento das palavras ey
é uma lista de palavras na frase que contêmx
quantidade de letras
Entrada:
mywords = "May your coffee be strong and your Monday be short"
Saída esperada:
{2: ['be', 'be'], 3: ['May', 'and'], 4: ['your', 'your'], 5: ['short'], 6: ['coffee', 'strong', 'Monday']}
Aqui está uma tentativa que cria uma lista de valores, mas a substitui sempre:
{len(x):[x] for x in mywords.split()}
{2: ['be'], 3: ['and'], 4: ['your'], 5: ['short'], 6: ['Monday']}
É possível fazer isso em uma linha no Python?