from collections import deque

G = {
    'A' : ['B','D','E'] ,
    'B' : ['A','C'] ,
    'C' : ['B','D'] ,
    'D' : ['A','C','E'] ,
    'E' : ['A','D','G','F'] ,
    'F' : ['E','G'] ,
    'G' : ['E','F','H'] ,
    'H' : ['G']
}

sortie = []
pile = deque()
pile.append('A')

while pile:
        S = pile.pop()
        if S not in sortie:
            sortie.append(S)
            non_visites = [n for n in G[S] if n not in sortie]
            pile.extend(non_visites)

print(sortie)