Najdłuższy łańcuch elementów z listy w Pythonie
Mam listę narodów i chcę mieć najdłuższą ścieżkę narodów, w której każdy wybrany kraj musi zaczynać się od tej samej litery, która zakończyła poprzedni element
<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>
Próbowałem w ten sposób, ale to nie działa
<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>
Jakieś sugestie?