我们可以使用递归遍历列表来实现按索引动态获取嵌套列表。具体实现如下:
def get_nested_list(nested_list, index_list):
"""
:param nested_list: 嵌套列表
:param index_list: 索引列表,表示要获取的元素的位置
:return: 按索引获取的元素,可能是列表或其他类型的值
"""
if not index_list:
# 如果索引列表为空,则返回整个嵌套列表
return nested_list
else:
# 否则,递归获取子列表
index = index_list[0]
sub_list = nested_list[index]
sub_index_list = index_list[1:]
return get_nested_list(sub_list, sub_index_list)
示例如下:
nested_list = [[1, 2], [3, [4, 5]]]
index_list = [1, 1]
result = get_nested_list(nested_list, index_list)
print(result) # 输出:5
上述代码中,我们定义了一个名为get_nested_list
的函数,该函数接受两个参数:一个嵌套列表和一个索引列表。函数首先判断索引列表是否为空,如果为空,则表示已经遍历到了最后一层,直接返回整个嵌套列表。否则,取出索引列表的第一个元素index
,从嵌套列表中取出第index
个元素sub_list
,并递归调用get_nested_list
函数,将sub_list
作为嵌套列表,index_list[1:]
作为索引列表,继续遍历列表,直到遍历到最后一层获取到目标元素。
下一篇:按索引对列表中的字符串进行排序