python两个列表相减
时间: 2023-07-11 19:42:16 浏览: 181
要想实现两个列表的相减操作,可以使用列表推导式或者使用 set() 函数。具体方法如下:
1. 使用列表推导式
假设有两个列表 a 和 b,要实现 a 列表减去 b 列表后的结果,可以使用列表推导式,代码如下:
```python
a = [1, 2, 3, 4, 5]
b = [3, 4]
result = [i for i in a if i not in b]
print(result)
```
输出结果为:
```
[1, 2, 5]
```
2. 使用 set() 函数
另一种方法是使用 set() 函数,将两个列表转换成集合进行计算,代码如下:
```python
a = [1, 2, 3, 4, 5]
b = [3, 4]
result = list(set(a) - set(b))
print(result)
```
输出结果为:
```
[1, 2, 5]
```
以上两种方法都可以实现两个列表的相减操作,具体使用哪种方法取决于实际情况和个人喜好。
相关问题
python两列表数据相减
如果是要实现两个列表中的数据相减,可以使用列表推导式或者使用 numpy 库。具体方法如下:
1. 使用列表推导式
假设有两个列表 a 和 b,要实现 a 列表减去 b 列表后的结果,可以使用列表推导式,代码如下:
```python
a = [1, 2, 3, 4, 5]
b = [3, 4]
result = [i - j for i, j in zip(a, b)]
print(result)
```
输出结果为:
```
[-2, -2, 0, 0, 0]
```
这里使用了 zip() 函数将两个列表对应位置的元素打包,然后使用列表推导式遍历每个元素并做差。
2. 使用 numpy 库
另一种方法是使用 numpy 库,代码如下:
```python
import numpy as np
a = [1, 2, 3, 4, 5]
b = [3, 4]
result = np.array(a) - np.array(b)
print(result)
```
输出结果为:
```
[-2 -2 0 0 0]
```
这里使用了 numpy 库中的 array() 函数将列表转换成数组,并使用 - 操作符进行相减。
以上两种方法都可以实现两个列表中的数据相减操作,具体使用哪种方法取决于实际情况和个人喜好。
两个列表相减
两个列表相减的操作可以使用列表推导式或者使用zip函数实现,具体方法如下:
1. 列表推导式
假设有两个列表A和B,要求A-B,即求A中去除B中元素后的列表。可以使用列表推导式实现,代码如下:
```python
A = [1, 2, 3, 4]
B = [3, 4, 5, 6]
C = [a for a in A if a not in B]
print(C) # 输出 [1, 2]
```
2. zip函数
另一种实现方法是使用zip函数将两个列表对应位置的元素进行比较,代码如下:
```python
A = [1, 2, 3, 4]
B = [3, 4, 5, 6]
C = [a for a, b in zip(A, B) if a != b]
print(C) # 输出 [1, 2]
```
这里使用了zip函数将A和B两个列表对应位置的元素打包成一个元组,然后通过列表推导式筛选出A中与B不同的元素。需要注意的是,如果A和B的长度不一致,那么zip函数只会迭代到其中较短的列表结束为止。