我要找出两个数列中相同的数,组成数组A,找不到的话A就是0
时间: 2024-03-16 22:47:01 浏览: 30
你可以使用 Python 的列表解析式和集合的交集操作来实现这个功能。将一个数列转换为集合,然后使用集合的交集操作来获取两个数列中相同的数字。如果交集非空,则返回交集;否则返回 0。
以下是一个实现示例:
```python
def get_common_elements(a, b):
set_a = set(a)
set_b = set(b)
common_elements = list(set_a & set_b)
return common_elements if common_elements else [0]
```
这个函数接受两个数列 a 和 b 作为输入,返回它们的交集。如果交集非空,则返回一个包含交集元素的列表;否则返回一个元素为 0 的列表。
你可以使用以下代码测试这个函数:
```python
a = [1, 2, 3, 4, 5]
b = [3, 4, 5, 6, 7]
c = [8, 9, 10]
print(get_common_elements(a, b)) # [3, 4, 5]
print(get_common_elements(a, c)) # [0]
```
输出结果为:
```
[3, 4, 5]
[0]
```
如果你只需要返回一个值,而不是一个列表,可以将函数返回值修改为 `common_elements[0] if common_elements else 0`。
注意,这个函数返回的交集元素顺序可能与输入数列中的顺序不同。如果你需要保持顺序不变,可以使用 Python 的列表解析式或者使用 NumPy 库中的函数实现。