练习7-4 找出不是两个数组共有的元素 (20 分)
时间: 2023-05-31 09:17:59 浏览: 196
### 回答1:
这道题要求找出不是两个数组共有的元素。
具体做法是,先将两个数组合并成一个新的数组,然后遍历新数组中的每个元素,判断它是否同时存在于原来的两个数组中,如果不是,则将其加入到结果数组中。
最后返回结果数组即可。
代码示例:
```python
def find_different_elements(arr1, arr2):
# 将两个数组合并成一个新数组
new_arr = arr1 + arr2
# 初始化结果数组
result = []
# 遍历新数组中的每个元素
for elem in new_arr:
# 判断该元素是否同时存在于原来的两个数组中
if elem not in arr1 or elem not in arr2:
# 如果不是,则将其加入到结果数组中
result.append(elem)
# 返回结果数组
return result
```
注意,上述代码中的 `not in` 表示不在数组中,即表示该元素不属于该数组。
### 回答2:
练习7-4要求我们编写一个程序,在两个给定的数组中,找出不是共有元素的元素,并输出它们。
首先,我们需要输入这两个数组。可以使用以下代码:
```python
A = list(map(int, input().split()))
B = list(map(int, input().split()))
```
接着,我们可以使用set和&运算符来找出两个数组共有的元素。代码如下:
```python
set_A = set(A)
set_B = set(B)
common = set_A & set_B
```
然后,我们可以使用列表推导式来找出不是共有元素的元素。代码如下:
```python
not_common = [x for x in A + B if x not in common]
```
其中,A+B将A和B拼接成一个新的列表,而列表推导式的if语句用来判断x是否在common中出现过。
最后,我们可以使用以下代码将结果输出:
```python
for x in not_common:
print(x, end=' ')
```
完整代码如下:
```python
A = list(map(int, input().split()))
B = list(map(int, input().split()))
set_A = set(A)
set_B = set(B)
common = set_A & set_B
not_common = [x for x in A + B if x not in common]
for x in not_common:
print(x, end=' ')
```
以上就是练习7-4的解答。
### 回答3:
这道题要求找出两个数组中不共有的元素,首先我们需要先了解什么是两个数组共有的元素。两个数组共有的元素就是两个数组都拥有的元素,比如数组A有{1,2,3,4},数组B有{3,4,5,6},那么两个数组共有的元素就是3和4。
那么我们需要找出的就是两个数组中没有共有的元素。我们可以通过遍历两个数组来实现这个目的。对于数组A中的每一个元素,我们都需要在数组B中查找是否存在相同的元素。如果存在,则说明这是两个数组共有的元素,否则这个元素就是数组A特有的元素。
同样地,我们也需要遍历数组B中的每一个元素,在数组A中查找是否存在相同的元素,如果不存在,则说明这是数组B特有的元素。
最后我们将两个数组特有的元素合并在一起,即为题目所求答案。下面是Python代码实现:
```python
def unique_elements(arr1, arr2):
unique = []
for num in arr1:
if num not in arr2:
unique.append(num)
for num in arr2:
if num not in arr1:
unique.append(num)
return unique
```
在上述代码中,我们定义了一个名为 unique_elements 的函数,该函数接受两个数组 arr1 和 arr2 作为参数,返回两个数组中特有的元素组成的新数组 unique。
在函数内部,我们使用了两个 for 循环遍历两个数组,并通过 if 语句判断数组中的元素是否在另一个数组中存在,如果不存在,则将其加入到 unique 数组中。
最后,我们返回 unique 数组,即为所求答案。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)