從列表中的元素鏈我的國家的名單,我想有地方選擇的每個國家都必須與結束前一個元素相同字母開頭的國家的最長路徑最長在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']
我試過這種方式,但它不起作用
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
有什麼建議嗎?
我n它不起作用的方式是什麼? – Marcin
如果我保留nations.remove(j),錯誤是ValueError:list.remove(x):x不在列表中,如果我刪除了那段代碼RuntimeError:在調用Python對象時超出最大遞歸深度 – fege
請將完整堆棧跟蹤您的問題中的兩個錯誤,並使用註釋來標識所涉及的代碼行。 – Marcin