Menu Close

Group up all anagrams together from given words

Given an array of words, Group all anagrams together.

Anagrams : a word, phrase, or name formed by rearranging the letters of another, such as spar, formed from rasp.

For example,

Input:
[cat, dog, tac, god, act]

Output:
[[cat, tac, act],[dog, god]]
def Anograms(WordArr,N):
    L,D=[],{}
    for i in range(N):
        L.append([WordArr[i],i])
        L[i][0]=''.join(sorted(L[i][0]))
        D.setdefault(L[i][0],[]).append(L[i][1])
    L.clear()
    for X in list(D.values()):
        temp=[]
        for j in X:
            temp.append(WordArr[j])
        L.append(temp)
    print(L)


WordArr=list(map(str,input("Enter an array of words: ").split(',')))
Anograms(WordArr,len(WordArr))

INPUT_1:
Enter an array of words:  car, ape, meal, pea, male, arc, lame, dog

OUTPUT:
[ [‘dog’],  [ ‘ape’,   ‘pea’],  [ ‘meal’,  ‘male’,  ‘lame’],  [ ‘car’, ‘arc’] ]


INPUT_2:
Enter an array of words:  cat, dog, tac, god, act

OUTPUT:
[ [ ‘dog’,  ‘god’],  [ ‘cat’,  ‘tac’,  ‘act’] ]


INPUT_3:
Enter an array of words: eat,tea,tan,ate,nat,bat

OUTPUT:
[ [ ‘tan’,  ‘nat’],  [ ‘eat’,  ‘tea’,  ‘ate’],  [‘bat’] ]



INPUT_4:
Enter an array of words: a

OUTPUT:
[ [‘a’] ]


INPUT_5:
Enter an array of words: ‘ ‘

OUTPUT:
[ [‘ ‘] ]


ILLUSTRATION :

EXECUTED USING PYTHON3


Morae! Q