写一段python实现如下功能,记录数组A(nm)中与数组B(n1)中相同的数的索引位置
时间: 2024-12-16 11:32:07 浏览: 11
要实现这个功能,你可以使用列表推导式和`enumerate`函数来遍历两个数组并找出相同的元素及其索引。假设数组A是一个二维数组,而数组B是一维数组。以下是一个简单的Python代码示例:
```python
def find_common_indices(A, B):
A = [item for sublist in A for item in sublist] # 将二维数组转为一维
common_elements = {element: [] for element in B} # 创建字典存储相同元素及其索引
# 遍历B中的每个元素
for i, elem in enumerate(B):
if elem in A:
common_elements[elem].append(i) # 如果找到匹配项,添加到字典对应的值列表中
return common_elements
# 示例用法
A = [[1, 2, 3], [4, 5, 6]]
B = [1, 3, 5]
common_indices = find_common_indices(A, B)
print(common_indices)
```
这段代码首先将二维数组A展平成一维,然后创建一个字典,键是B中的元素,值是一个列表,用于存储该元素在A中出现的所有索引。之后,我们遍历B,如果元素在A中,就将其添加到对应列表。
运行这段代码后,`common_indices`将会是一个字典,其中包含B中各元素在A中的共同索引。例如,在给定的示例中,输出将是`{1: [0], 3: [1], 5: [2]}`。
阅读全文