📅  最后修改于: 2023-12-03 15:33:15.850000             🧑  作者: Mango
在处理矩阵数据时,有时需要知道每一行中出现过的数组元素及其出现次数。这个问题可以通过编写一个函数来解决,函数的输入是一个N x M的矩阵,输出是每一行中元素出现的次数。
矩阵的输入格式为一个二维数组,其中每个元素都是一个整数。
matrix = [
[1, 2, 3],
[3, 4, 5],
[2, 1, 3],
]
输出格式为一个二维数组,其中每个元素都是一个字典,其中包含了该行中元素及其出现次数。
result = [
{1: 1, 2: 1, 3: 1},
{3: 1, 4: 1, 5: 1},
{1: 1, 2: 1, 3: 1},
]
为了解决这个问题,可以使用Python的内置字典类型来统计元素出现的次数。对于每一行,遍历所有元素,将元素作为字典的键进行统计,如果该键已经存在,则计数器加一,否则将该键加入字典,并赋值为1。
def count_occurrences(matrix):
result = []
for row in matrix:
counts = {}
for element in row:
if element in counts:
counts[element] += 1
else:
counts[element] = 1
result.append(counts)
return result
返回值为二维数组,内部元素为字典类型,表示该行中元素及其出现次数。