我试图弄清楚如何在嵌套列表中获取某些元素的级别。
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
。
请告诉我是否有办法。
答案 0 :(得分:1)
有这样的东西:
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))