使用递归打印数组中给定元素的索引?

问题描述

我正在尝试编写代码以返回数组中给定元素的所有索引的数组

arr = [15,11,40,4,9]
x = 4
# fsf means count of element 'found so far'
def all_index(arr,i,x,fsf):
    if i == len(arr):
        result = [0] * fsf 
    
    elif arr[i] == x:
        indices = all_index(arr,i + 1,fsf + 1)
        indices[fsf] = i
        return indices
        
    else:
        indices = all_index(arr,fsf)
        return indices
        
        
print(all_index(arr,0))

这个问题已经在这里有了答案: 递归函数在Python中不返回任何值(重复)(2个答案)

您的帖子与一个类似的问题相关。如果这个问题不能解决您的问题,请再提出一个问题。

3小时前关闭。

(为您提供私人反馈) 编辑问题

我正在尝试编写代码,以返回数组中给定元素的所有索引的数组。 fsf表示元素“已找到”计数

arr = [15,9]
x = 4

def all_index(arr,0))

预期输出:[3,4]

据我所知,索引数组为[0,0],但稍后必须更改为[3,4]

虽然代码易于使用迭代,但我正在尝试学习递归。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)