python列表取差集
时间: 2023-11-24 08:51:08 浏览: 46
以下是两种Python列表取差集的方法:
1.使用set()函数
```python
a = [1, 2, 3, 4, 5]
b = [3, 4, 5, 6, 7]
diff = list(set(a).difference(set(b)))
print(diff) # 输出:[1, 2]
```
2.使用列表推导式
```python
a = [1, 2, 3, 4, 5]
b = [3, 4, 5, 6, 7]
diff = [i for i in a if i not in b]
print(diff) # 输出:[1, 2]
```
相关问题
python dataframe 取差集
可以使用pandas库中的drop_duplicates()方法来实现Python DataFrame的取差集。下面是一个示例代码:
```python
import pandas as pd
# 创建两个DataFrame
data_a = {'state': [1, 1, 2], 'pop': ['a', 'b', 'c']}
data_b = {'state': [1, 2, 3], 'pop': ['b', 'c', 'd']}
a = pd.DataFrame(data_a)
b = pd.DataFrame(data_b)
# 合并两个DataFrame
a = a.append(b)
# 删除重复行
result = a.drop_duplicates(subset=['pop', 'state'], keep=False)
```
上述代码将DataFrame a和b合并后,调用drop_duplicates()方法删除了重复行,即求取了DataFrame的差集。最后的结果存储在result变量中。
python集合取差集
要在Python中取两个集合的差集,可以使用集合的差集操作符`-`。这个操作符会返回一个新的集合,其中包含在第一个集合中出现但不在第二个集合中出现的元素。
下面是一个示例代码:
```python
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
difference = set1 - set2
print(difference) # 输出:{1, 2, 3}
```
在上面的代码中,我们定义了两个集合 `set1` 和 `set2`,然后使用 `-` 操作符取了它们的差集,将结果保存在变量 `difference` 中。最后,我们打印了差集的内容。