Längste Elementkette aus der Liste in Python

Ich habe eine Liste von Nationen, und ich möchte den längsten Weg von Nationen haben, bei dem jedes ausgewählte Land mit dem gleichen Buchstaben beginnen muss, der das vorherige Element beendet hat

<code>nations = ['albania','andorra','austria','belarus','belgium','bosnia and herzegovina',
      'bulgaria','croatia','czech republic','denmark','estonia',  
      'finland','france','germany','greece','hungary',
      'iceland','ireland','italy','latvia','liechtenstein','lithuania','luxembourg',
      'macedonia','malta','moldova','monaco','montenegro','netherlands', 
      'norway','poland','portugal','romania','russia',  
      'san marino','serbia','slovakia','slovenia','spain','sweden', 'switzerland',
      'ukraine','united kingdom','vatican city'] 

chain('spain')
>>>['spain', 'netherlands', 'slovenia', 'andorra', 'austria', 'albania']
</code>

Ich habe es auf diese Weise versucht, aber es funktioniert nicht

<code>def chain(naz):
    initial = naz[-1]
    initials=[]
    res = set()
    res.add(naz)
    for i in nations:
        if i.startswith(initial):
            initials.append(i)
    for j in initials:
        nations.remove(j)
        res.add(j)
        chain(j)
    return res
</code>

Irgendein Vorschlag?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage