Encontrar y agrupar anagramas por Python

input: ['abc', 'cab', 'cafe', 'face', 'goo']
output: [['abc', 'cab'], ['cafe', 'face'], ['goo']]

El problema es simple: se agrupa por anagramas. El orden no importa.

Por supuesto, puedo hacer esto por C ++ (esa es mi lengua materna). Pero me pregunto si esto se puede hacer en una sola línea porPitó. DITADO: si no es posible, tal vez 2 o 3 líneas. Soy un novato en Python.

Para verificar si dos cadenas son anagrama, solía ordenar.

>>> input = ['abc', 'cab', 'cafe', 'face', 'goo']
>>> input2 = [''.join(sorted(x)) for x in input]
>>> input2
['abc', 'abc', 'acef', 'acef', 'goo']

Creo que se puede hacer combinandomap más o menos. Pero, necesito usar unadict como una tabla hash. Todavía no sé si esto es factible en una sola línea. Cualquier sugerencia sería apreciada!

Respuestas a la pregunta(6)

Su respuesta a la pregunta