Python多层嵌套数组如何了解每层大小
时间: 2024-06-08 07:04:36 浏览: 263
在Python中,多层嵌套数组(也称为多维列表或数组)指的是列表中包含其他列表的情况,每个子列表还可以嵌套更深层次的列表。要了解每层的大小,你可以使用递归的方法遍历整个结构并计算每层元素的数量。
以下是一个简单的示例:
```python
# 示例多层嵌套数组
nested_list = [
[1, 2, 3],
['a', 'b', 'c'],
[[4, 5], [6, 7]]
]
def get_nested_array_size(nested_array):
# 递归函数,计算每层大小
total_size = 0
for item in nested_array:
if isinstance(item, list): # 如果是列表,递归调用
total_size += get_nested_array_size(item)
else: # 否则,添加普通元素的计数
total_size += 1
return total_size
# 获取整个嵌套数组的总大小
total_size = get_nested_array_size(nested_list)
print("整个嵌套数组的总大小:", total_size)
# 也可以按层次获取每层的大小
sizes = []
current_level = 1 # 初始化当前层数
for i, item in enumerate(nested_list, start=1):
sizes.append(current_level)
if isinstance(item, list):
current_level += 1
sizes.extend(get_nested_array_size(item)) # 递归获取子列表的大小
else:
current_level -= 1
sizes.append(current_level) # 添加最后一层的大小
print("每层的大小:", sizes)
```
这个例子中,`get_nested_array_size`函数会返回整个嵌套列表的元素总数,而`sizes`列表则记录了从外层到内层的每层大小。
阅读全文