python如何将数组扁平化
时间: 2024-06-13 21:00:42 浏览: 167
在Python中,可以使用递归或迭代的方式将数组扁平化。以下是两种常见的方法:
1. 递归方法:
- 定义一个空列表来存储扁平化后的元素。
- 遍历数组中的每个元素,如果元素是列表,则递归调用扁平化函数,将返回的结果添加到结果列表中;如果元素不是列表,则直接将其添加到结果列表中。
- 返回结果列表作为最终的扁平化结果。
示例代码如下:
```python
def flatten_array(arr):
result = []
for item in arr:
if isinstance(item, list):
result.extend(flatten_array(item))
else:
result.append(item)
return result
```
2. 迭代方法:
- 使用一个栈来存储数组中的元素。
- 初始化一个空列表作为结果列表。
- 循环遍历栈,如果栈顶元素是列表,则将其弹出并将列表中的元素逆序入栈;如果栈顶元素不是列表,则将其弹出并添加到结果列表中。
- 最终得到的结果列表即为扁平化后的数组。
示例代码如下:
```python
def flatten_array(arr):
stack = [arr]
result = []
while stack:
item = stack.pop()
if isinstance(item, list):
stack.extend(item[::-1])
else:
result.append(item)
return result
```
阅读全文