从嵌套数组中取值可以通过递归或迭代的方式进行操作。以下是一种常见的方法:
def get_value(arr, target):
for item in arr:
if isinstance(item, list): # 判断元素是否为列表
result = get_value(item, target) # 递归调用自身
if result is not None:
return result
elif item == target:
return item
return None
使用示例:
nested_array = [1, 2, [3, 4, [5, 6, 7]]]
target_value = 5
result = get_value(nested_array, target_value)
print(result) # 输出:5
def get_value(arr, target):
stack = [arr] # 使用栈来存储待遍历的数组
while stack:
current = stack.pop()
for item in current:
if isinstance(item, list): # 判断元素是否为列表
stack.append(item) # 将子列表加入栈中
elif item == target:
return item
return None
使用示例:
nested_array = [1, 2, [3, 4, [5, 6, 7]]]
target_value = 5
result = get_value(nested_array, target_value)
print(result) # 输出:5
以上是从嵌套数组中取值的一种常见方法,可以根据实际情况选择递归或迭代方法来实现。
领取专属 10元无门槛券
手把手带您无忧上云