array1 = [{'a': '1'}, {'a': '2'}, {'a': '3'}]
array2 = [{'b': 'c'}, {'b': 'b'}, {'b': 'd'}]
array3 = [{'d': 'd'}, {'d': 'c'}, {'d': 'b'}]
array4 = [{'d': 'd'}, {'d': 'c'}, {'d': 'b'}]
def add(d1, d2):
d3, d4 = d1.copy(), d2.copy()
d3.update(d4)
return d3
def merge_arrays(arr1=None, arr2=None):
if arr2 is None:
arr2 = []
if arr1 is None:
arr1 = []
merged = []
for v1 in arr1:
for v2 in arr2:
v3 = add(v1, v2)
merged.append(v3)
return merged
merged_array1 = merge_arrays(array1, array2)
merged_array2 = merge_arrays(merged_array1, array3)
merged_array3 = merge_arrays(merged_array2, array4)
print(len(merged_array2))
print(len(merged_array3))
l = [[{'a': '1'}, {'a': '2'}, {'a': '3'}], [{'b': 'c'}, {'b': 'b'}, {'b': 'd'}], [{'d': 'd'}, {'d': 'c'}, {'d': 'b'}], [{'d': 'd'}, {'d': 'c'}, {'d': 'b'}]]
result = []
for i in range(1, len(l)):
if i == 1:
result.extend(merge_arrays(l[0], l[1]))
elif i > 1:
result = merge_arrays(result, l[i])
print(result)
print(len(result))
python列表交叉组合算法
于 2023-11-07 09:35:06 首次发布