一个数组对象里面有多条数据,每一条数据里面有个son 数组对象,son的每条数据里面也可能有son ,怎么循环将满足条件的加到最外一层数据里面的QQ数组里面
时间: 2024-12-24 16:36:32 浏览: 3
为了将符合条件的数据添加到最外层数组对象的QQ数组中,你可以采用递归的方式来遍历这个嵌套结构。这里是一个基本的Python示例,假设我们的数据结构是列表嵌套列表,且每个元素都有`son`属性:
```python
def add_to_QQ(data_list, condition_func, QQ_list):
# 遍历外部列表
for item in data_list:
# 检查当前项是否有符合条件的son
if isinstance(item, list) and 'son' in item:
sons = item['son']
# 如果有son并且满足条件,添加到QQ_list
if condition_func(sons):
QQ_list.append({item.get('key') or 'son_data': sons}) # 假设有key用于区分
else:
# 如果son不符合条件,继续检查son的儿子
add_to_QQ(sons, condition_func, QQ_list)
else:
# 如果当前项不是子列表,直接判断是否满足条件并添加
if condition_func(item):
QQ_list.append(item)
# 使用函数作为条件(这里的条件只是一个示例,你需要替换为实际的判断)
condition_func = lambda x: x is not None
# 示例数据
data = [{'name': 'parent1', 'son': [{'name': 'child1', 'son': [{'qq': 1}, {'qq': 2}]},
{'name': 'child2', 'son': []}]}]
QQ_list = []
add_to_QQ(data, condition_func, QQ_list)
print(QQ_list) # 输出满足条件的子列表
阅读全文