【发布时间】:2017-09-17 21:12:13
【问题描述】:
我编写了这个递归函数来检查列表中的特定字符串,如果找到该字符串,它应该在列表中反向返回,但我似乎无法将列表保留为列表。我的输出是一个连接的字符串。有人可以建议如何维护列表类型吗?
test_list = ['cat', 'hat', 'bat', 'sat']
test_string = 'bat'
def reverser(some_list, some_string):
if some_list == []:
return ''
elif len(some_list) == 1 and item in some_list == some_string:
return some_string[::-1]
else:
if some_list[0] == some_string:
return some_string[::-1] + reverser(some_list[1:], some_string)
if some_list[0] != some_string:
return some_list[0] + reverser(some_list[1:], some_string)
reverser(test_list, test_string)
输出是:
'cathattabsat'
但我希望它是:
['cat', 'hat', 'tab', 'sat']
【问题讨论】:
-
NameError: 未定义全局名称“项目”
标签: string list python-3.x recursion reverse