利用递归算法实现嵌套列表的拆分 输入格式: 输入一个嵌套的列表,例如:[1, 2, [3, 4], 5] 输出格式: 将嵌套列表进行拆分,并输出拆分后的列表,例如:[1, 2, 3, 4, 5]。 输入样例: 在这里给出一组输入。例如: [1,2,[3,4],5] 输出样例: 在这里给出相应的输出。例如: [1, 2, 3, 4, 5] 输入样例: 在这里给出一组输入。例如: [[[1,2],3],[[4,5,['a','b']],[[[[['c']]]]]]] 输出样例: 在这里给出相应的输出。例如: [1, 2, 3, 4, 5, 'a', 'b', 'c']
时间: 2023-07-02 13:08:37 浏览: 668
可以利用递归的思想,对于每一个元素进行判断,如果是列表则递归拆分,否则直接加入结果列表中。以下是代码实现:
```python
def flatten(lst):
res = []
for i in lst:
if isinstance(i, list):
res.extend(flatten(i))
else:
res.append(i)
return res
```
其中 `isinstance(i, list)` 判断当前元素是否是列表,如果是则递归调用 `flatten` 函数,否则直接将元素加入结果列表中。
相关问题
利用递归算法实现嵌套列表的拆分 输入格式: 输入一个嵌套的列表,例如:[1, 2, [3, 4], 5] 输出格式: 将嵌套列表进行拆分,并输出拆分后的列表,例如:[1, 2, 3, 4, 5]。
递归算法可以很好地处理嵌套列表的拆分。基本思路是从外到内遍历列表,如果遇到的是整数,则直接添加到结果列表中;如果遇到的是另一个列表,则对这个子列表再次应用同样的递归操作。下面是一个简单的Python代码示例:
```python
def flatten(nested_list):
result = [] # 存放拆分后的元素
def helper(lst):
for item in lst:
if isinstance(item, list): # 如果是列表
helper(item) # 继续递归处理
else: # 如果是整数或其他非列表类型
result.append(item)
helper(nested_list)
return result
# 测试例子
input_list = [1, 2, [3, 4], 5]
output_list = flatten(input_list)
print("拆分后的列表:", output_list)
阅读全文
相关推荐















