@ cᴏʟᴅsᴘᴇᴇᴅ Я думал, что когда он опубликовал это, он просто был мета с твоим ответом. Я пытаюсь сделать это в понимании, я видел это решение в другом ответе, но я пытался сделать это в одной строке - оказывается, 1 строка немного сложнее, чем ожидалось
ем очень простой пример зацикливания предложения и создания словаря, который отображает{x:y}
, гдеx
является ключом, представляющим длину слов иy
это список слов в предложении, которые содержатx
количество букв
Входные данные:
mywords = "May your coffee be strong and your Monday be short"
Ожидаемый результат:
{2: ['be', 'be'], 3: ['May', 'and'], 4: ['your', 'your'], 5: ['short'], 6: ['coffee', 'strong', 'Monday']}
Вот попытка, которая создает список значений, но каждый раз перезаписывает его:
{len(x):[x] for x in mywords.split()}
{2: ['be'], 3: ['and'], 4: ['your'], 5: ['short'], 6: ['Monday']}
Возможно ли сделать это в одной строке в Python?