📅  最后修改于: 2023-12-03 15:23:02.824000             🧑  作者: Mango
给定一个二元数组作为输入,例如:arr=[[1, 2, 3], [4, 5], [6, 7, 8, 9]]
,请编写一个函数 concatenation()
,将其转换为一个一维数组,如下所示:
concatenation(arr) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
我们可以通过后续处理的方式来获取所需的一维数组。具体而言,可以使用两个 for 循环来遍历输入数组。将二维数组中的每行元素合并到一个临时列表中,最后将其添加到结果列表中即可。
具体代码如下:
def concatenation(arr):
res = []
for i in range(len(arr)):
tmp = []
for j in range(len(arr[i])):
tmp.append(arr[i][j])
res += tmp
return res
我们现在来测试一下该函数是否实现正确。
assert concatenation([[1, 2, 3], [4, 5], [6, 7, 8, 9]]) == [1, 2, 3, 4, 5, 6, 7, 8, 9]
assert concatenation([[1], [2], [3, 4]]) == [1, 2, 3, 4]
assert concatenation([[], [], []]) == []
测试通过,我们的函数实现正确。
本题目要求我们通过遍历一二维数组,将其转化为一个一维数组。我们可以使用两个 for 循环来遍历,将每行元素合并到临时列表中,最终将其添加到结果列表中来实现。实现中需要注意的是,需要使用加号来合并两个列表,而不是使用 append() 方法。