以下是按组ID传播数据并将每个块与组ID合并的示例代码:
# 定义数据块
data_blocks = [
{'id': 1, 'data': 'Block 1 data'},
{'id': 2, 'data': 'Block 2 data'},
{'id': 1, 'data': 'Block 3 data'},
{'id': 3, 'data': 'Block 4 data'},
{'id': 2, 'data': 'Block 5 data'}
]
# 按组ID传播数据
group_data = {}
for block in data_blocks:
group_id = block['id']
if group_id not in group_data:
group_data[group_id] = []
group_data[group_id].append(block['data'])
# 将每个块与组ID合并
merged_data = []
for group_id, blocks in group_data.items():
merged_block = {'group_id': group_id, 'data': blocks}
merged_data.append(merged_block)
# 打印结果
for block in merged_data:
print(block)
运行以上代码,将得到以下输出结果:
{'group_id': 1, 'data': ['Block 1 data', 'Block 3 data']}
{'group_id': 2, 'data': ['Block 2 data', 'Block 5 data']}
{'group_id': 3, 'data': ['Block 4 data']}
代码首先定义了一个数据块列表 data_blocks,其中每个数据块由一个组ID和数据内容组成。然后使用一个字典 group_data 来按组ID传播数据,将每个数据块添加到对应的组ID中。最后,使用一个新的列表 merged_data 来将每个块与组ID合并,每个合并块由组ID和数据块列表组成。最后,打印合并后的数据块列表。