注册 登录
编程论坛 Python论坛

请教一个编程思路

木子静优 发布于 2019-08-30 14:53, 1214 次点击
题目如下:
L =  [
   ['Apple', 'Google', 'Microsoft'],
   ['Java', ['Python', 'Ruby'], 'PHP'],
   ['Adam', ['Bart', 'Lisa']]
   ]
现在需要编写一个函数,要求根据值找到相应的序号,比如找"Python"这个字符串,结果应该返回L[1][1][0]。
试了递归函数,但是只能得到最后一个角标[0],没办法得到完整的角标序列[1][1][0]


[此贴子已经被作者于2019-8-30 16:35编辑过]

2 回复
#2
林月儿2019-08-31 08:34
程序代码:
L=[['Apple', 'Google', 'Microsoft'], ['Java', ['Python', 'Ruby'], 'PHP'], ['Adam', ['Bart', 'Lisa']]]

def display(L,line,res):
    k=0   
    for ele in L:
        if line==ele :
            print('L['+']['.join(res)+']['+str(k)+']')
        if type(ele)==list :
            res.append(str(k))
            display(ele,line,res)
            res.pop()
        k+=1

res=[]
display(L,'Python',res)
#3
木子静优2019-08-31 10:27
回复 2楼 林月儿
感谢大神解惑,我只想到了递归函数,没想到用堆栈配合递归函数达到下标存取,我还是经验太少
1