@ 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?

Ответы на вопрос(2)

Ваш ответ на вопрос