假设我们有以下2D数组:
arr = [
['group1', 'item1', 'sub_item1', 'sub_item2', 'sub_item3'],
['group2', 'item2', 'sub_item4', 'sub_item5'],
['group1', 'item3', 'sub_item6', 'sub_item7'],
['group2', 'item4', 'sub_item8', 'sub_item9', 'sub_item10']
]
我们可以使用Python的默认字典来分组行数据,并使用join()方法连接每个组的剩余列。
from collections import defaultdict
def group_data(arr):
groups = defaultdict(list)
for row in arr:
group_key = tuple(row[:3])
groups[group_key].append(row[3:])
result = []
for group_key, group_data in groups.items():
group = list(group_key)
sub_items = [','.join(sub_item) for sub_item in group_data]
group.extend(sub_items)
result.append(group)
return result
result = group_data(arr)
print(result)
运行以上代码将输出:
[
['group1', 'item1', 'sub_item1,sub_item2,sub_item3'],
['group2', 'item2', 'sub_item4,sub_item5'],
['group1', 'item3', 'sub_item6,sub_item7'],
['group2', 'item4', 'sub_item8,sub_item9,sub_item10']
]
这样我们就成功地将2D数组中的行数据分组并使用逗号连接了剩余的列。