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

我想弄清楚如何在嵌套列表中获取特定元素级别的计数。


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。


请让我知道是否有任何办法。


猛跑小猪
浏览 81回答 1
1回答

ITMISS

得到这样的东西: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))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python