以下是一个示例代码,按照数组值对数组进行分组:
def group_array_by_value(arr):
value_dict = {}
for num in arr:
if num in value_dict:
value_dict[num].append(num)
else:
value_dict[num] = [num]
return list(value_dict.values())
# 示例用法
arr = [1, 2, 3, 2, 1, 4, 5, 4]
result = group_array_by_value(arr)
print(result)
输出:
[[1, 1], [2, 2], [3], [4, 4], [5]]
在上述示例中,我们定义了一个 group_array_by_value
函数,该函数接受一个数组作为参数。我们使用一个字典 value_dict
来保存每个数值对应的数组值。对于数组中的每个元素,如果它已经在字典中,则将它添加到对应的数组值中;否则,将其作为新的键添加到字典中,并将其作为值的初始元素。最后,我们将字典的值转换为一个列表并返回。
在示例用法中,我们传入一个数组 [1, 2, 3, 2, 1, 4, 5, 4]
,并将结果打印出来。该数组被分成了五组,每个组都包含具有相同值的元素。