两个list 的差集
时间: 2023-06-21 14:07:18 浏览: 97
假设有两个列表 A 和 B,可以通过以下代码获取它们的差集:
```python
A = [1, 2, 3, 4, 5]
B = [3, 4, 5, 6, 7]
diff = list(set(A) - set(B))
print(diff) # [1, 2]
```
这里使用了 Python 的 set 数据类型,将列表转换为集合,然后使用 "-" 运算符获取差集。最后再将结果转换为列表。
相关问题
Java求两个list 差集
在Java中,如果你想要找出两个List的差集(即在一个列表中存在但在另一个列表中不存在的元素),你可以使用Set集合以及它们的减法操作。这里是一个简单的示例:
```java
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
public List<Integer> findDifference(List<Integer> list1, List<Integer> list2) {
HashSet<Integer> set1 = new HashSet<>(list1);
HashSet<Integer> set2 = new HashSet<>(list2);
// 使用set的difference()方法获取差集
set1.removeAll(set2);
// 将结果转换回List并返回
return new ArrayList<>(set1);
}
// 示例
List<Integer> list1 = new ArrayList<>();
list1.add(1);
list1.add(2);
list1.add(3);
List<Integer> list2 = new ArrayList<>();
list2.add(2);
list2.add(4);
list2.add(5);
List<Integer> diffList = findDifference(list1, list2); // diffList将会包含 [1, 3]
```
这个函数首先将每个List转换成HashSet,因为HashSet查找速度更快。然后使用`removeAll()`方法从set1中移除所有在set2中存在的元素,剩下的就是两个List的差集。
两个list取差集
可以使用Python中的set()函数来实现两个列表之间的差集运算。具体的实现方法如下:
```python
list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]
difference = list(set(list1) - set(list2))
print(difference)
```
输出结果为:
```
[1, 2]
```
这里将两个列表转换为set类型,然后进行差集运算。最后将差集再转换为list类型输出。
阅读全文