根据ID获取多维数组的值可以通过递归或循环来实现。下面给出两种实现方式:
def get_value(array, ids):
if len(ids) == 1:
return array[ids[0]]
else:
return get_value(array[ids[0]], ids[1:])
这段代码使用递归的方式,逐级进入多维数组的内部。当ids
列表中只剩一个元素时,即到达最后一层,直接返回该层的值。否则,继续递归调用函数,将当前层的值作为新的多维数组,ids
列表中的第一个元素作为新的索引,继续寻找下一层的值。
def get_value(array, ids):
result = array
for i in ids:
result = result[i]
return result
这段代码使用循环的方式,逐级进入多维数组的内部,依次取得每一层的值。通过循环遍历ids
列表中的元素,每次取得当前层对应索引的值,将该值作为新的多维数组,进入下一层进行下一次循环,直到到达最后一层,返回最终的值。
以上两种方式可以根据具体的需求选择使用。如果多维数组的维度较深,推荐使用递归方式,因为递归可以更好地处理多层嵌套的情况。如果多维数组的维度较浅,可以使用循环方式,因为循环的性能通常比递归更高效。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云