以下是一个示例代码,演示如何遍历数组以找到最高匹配。
def find_highest_match(arr, target):
highest_match = 0
highest_match_index = -1
for i in range(len(arr)):
current_match = 0
for j in range(len(arr[i])):
if arr[i][j] == target[j]:
current_match += 1
if current_match > highest_match:
highest_match = current_match
highest_match_index = i
return highest_match_index
# 示例用法
arr = [['apple', 'banana', 'cherry'], ['orange', 'banana', 'apple'], ['apple', 'grape', 'apple']]
target = ['apple', 'banana', 'cherry']
index = find_highest_match(arr, target)
print("最高匹配的数组索引:", index)
print("最高匹配的数组:", arr[index])
在这个示例中,我们定义了一个find_highest_match
函数,它接受一个二维数组arr
和一个目标数组target
作为参数。函数首先初始化highest_match
和highest_match_index
为0和-1,用于记录最高匹配数和最高匹配索引。
然后,我们使用两个嵌套的for
循环遍历二维数组。外部循环迭代数组的每个元素,内部循环迭代当前元素的每个值。我们使用if
语句检查当前值是否与目标数组的对应位置的值相等,如果相等,则将current_match
增加1。
在内部循环结束后,我们将current_match
与highest_match
进行比较。如果current_match
大于highest_match
,则将highest_match
更新为current_match
,并将highest_match_index
更新为当前元素的索引。
最后,我们返回highest_match_index
作为结果。
在示例用法中,我们提供了一个二维数组arr
和目标数组target
,然后调用find_highest_match
函数,并打印最高匹配的数组索引和最高匹配的数组。