14.(8.0分)获取数组arr1和arr2元素相等的位置 arr1 = np.array([1,2,3,2,3,4,3,4,5,6]) arr2 = np.array([7,2,10,2,7,4,9,4,9,8]) res =o print(res) #期望输出结果:(array([1,3,5,7]),)
时间: 2023-08-19 21:34:03 浏览: 35
您可以使用以下代码获取数组 `arr1` 和 `arr2` 元素相等的位置:
```python
import numpy as np
arr1 = np.array([1, 2, 3, 2, 3, 4, 3, 4, 5, 6])
arr2 = np.array([7, 2, 10, 2, 7, 4, 9, 4, 9, 8])
res = np.where(arr1 == arr2)
print(res)
```
输出结果为:
```
(array([1, 3, 5, 7], dtype=int64),)
```
其中,`np.where()` 函数会返回元素相等的位置。由于 `np.where()` 函数返回的结果是一个元组,元组中只有一个元素,因此在打印结果时需要使用 `( )` 包裹起来,否则会报错。
相关问题
17.(8.0分)获取数组arr1和arr2元素相等的位置 arr1 = np.array([1,2,3,2,3,4,3,4,5,6]) arr2 = np.array([7,2,10,2,7,4,9,4,9,8]) res = print(res) #期望输出结果:(array([1,3,5,7]),)
可以使用numpy的`where()`函数来获取数组arr1和arr2元素相等的位置,代码如下:
```python
import numpy as np
arr1 = np.array([1, 2, 3, 2, 3, 4, 3, 4, 5, 6])
arr2 = np.array([7, 2, 10, 2, 7, 4, 9, 4, 9, 8])
res = np.where(arr1 == arr2)
print(res)
```
执行结果:
```python
(array([1, 3, 5, 7]),)
```
其中,`np.where(arr1 == arr2)`会返回一个元组,其中第一个元素是一个一维数组,表示arr1和arr2元素相等的位置。
java编程返回由两整型数组 arr1 和 arr2 中共同的元素组成的数组。
可以使用 Set 来实现这个功能,具体步骤如下:
1. 将数组 arr1 转换成 Set 集合 set1;
2. 遍历数组 arr2,对于其中的每个元素,判断是否在 set1 中出现过,如果出现过,则将其加入到结果集合中;
3. 将结果集合转换成数组并返回。
下面是代码实现:
```java
public static int[] findCommonElements(int[] arr1, int[] arr2) {
Set<Integer> set1 = new HashSet<>();
for (int num : arr1) {
set1.add(num);
}
Set<Integer> resultSet = new HashSet<>();
for (int num : arr2) {
if (set1.contains(num)) {
resultSet.add(num);
}
}
int[] resultArray = new int[resultSet.size()];
int i = 0;
for (int num : resultSet) {
resultArray[i++] = num;
}
return resultArray;
}
```
使用示例:
```java
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = {3, 4, 5, 6, 7};
int[] result = findCommonElements(arr1, arr2);
System.out.println(Arrays.toString(result)); // 输出 [3, 4, 5]
```
注意:这个实现方法只适用于元素不重复的数组,如果数组中存在重复元素,需要使用 Map 或者计数排序等其他方法来实现。