que tiene una lista de las naciones, y yo quiero tener la ruta más larga de las naciones donde cada país elegido debe comenzar con la misma letra que terminó el elemento anteriorcadena más larga de los elementos de la lista en Python
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']
Lo intenté de esta manera, pero no funciona
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
¿Alguna sugerencia?
I n ¿De qué manera no funciona? – Marcin
si guardo naciones.remove (j), el error es ValueError: list.remove (x): x no en la lista, si elimino ese fragmento de código RuntimeError: profundidad de recursión máxima excedida al llamar a un objeto de Python – fege
Poner por completo apila los rastros de ambos errores en tu pregunta y usa un comentario para identificar la línea de código involucrada. – Marcin