【发布时间】:2012-05-19 21:27:19
【问题描述】:
我有一个国家列表,我希望拥有最长的国家路径,其中每个国家选择必须以结束前一个元素的相同字母开头
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
有什么建议吗?
【问题讨论】:
-
在什么情况下不起作用?
-
如果我保留 countries.remove(j),错误是 ValueError: list.remove(x): x not in list,如果我删除那段代码 RuntimeError: 调用时超出最大递归深度一个 Python 对象
-
请在您的问题中为这两个错误提供完整的堆栈跟踪,并使用注释来标识所涉及的代码行。
标签: python longest-path