Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 计算嵌套列表中特定元素的深度_Python - Fatal编程技术网

Python 计算嵌套列表中特定元素的深度

Python 计算嵌套列表中特定元素的深度,python,Python,我试图弄清楚如何在嵌套列表中获取某个元素的级别计数 my_list = ["a", ["b", ["c", "d"], "e"], "f", ["g", ["h"]]] 为了获得元素“e”的级别,我尝试创建一个递归函数,但失败了 def get_level(letter, my_list): cnt = 0 for su

我试图弄清楚如何在嵌套列表中获取某个元素的级别计数

my_list = ["a", ["b", ["c", "d"], "e"], "f", ["g", ["h"]]]
为了获得元素“e”的级别,我尝试创建一个递归函数,但失败了

def get_level(letter, my_list):
    cnt = 0
    for sub_list in my_list:
        if letter in sub_list:
            cnt += 1
            return cnt
        else:
            get_level(letter, sub_list)

letter = "e"
print(get_level(letter, my_list))
结果应该是
2


如果有什么办法,请告诉我。

有这样的东西:

def find_e(arr, index):
  if 'e' in arr:
    return index
  else:
    for element in arr:
      if isinstance(element, list):
        return find_e(element, index + 1)

my_list = ["a", ["b", ["c", "d"], "e"], "f", ["g", ["h"]]]
print('Index is: ',find_e(my_list, 0))

你考虑过递归吗?它不应该是
1
?您将从
0
开始。此答案将帮助您:。此答案是否回答了您的问题?