两个list取差集
时间: 2023-06-21 07:09:01 浏览: 116
可以使用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类型输出。
相关问题
两个list取差集 java
以下是两个list取差集的Java代码示例:
```java
List<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
List<Integer> list2 = new ArrayList<>(Arrays.asList(3, 4, 5, 6, 7));
list1.removeAll(list2);
System.out.println(list1); // 输出:[1, 2]
```
上述代码中,我们首先创建了两个List,然后使用removeAll()方法从list1中移除了list2中包含的元素,最后输出了list1的结果,即差集。
另外,Java 8中也提供了stream()和filter()方法来实现两个List的差集:
```java
List<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
List<Integer> list2 = new ArrayList<>(Arrays.asList(3, 4, 5, 6, 7));
List<Integer> diff = list1.stream().filter(num -> !list2.contains(num)).collect(Collectors.toList());
System.out.println(diff); // 输出:[1, 2]
```
上述代码中,我们使用了Java 8中的stream()和filter()方法,将list1中不包含在list2中的元素筛选出来,最后使用collect()方法将结果转换为List并输出。
java 两个list取差集
在Java中,我们可以使用List接口中的retainAll()方法来取两个List的交集,也可以使用removeAll()方法来取两个List的差集。下面是一个示例代码:
```
List<Integer> list1 = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
List<Integer> list2 = new ArrayList<>(Arrays.asList(3, 4, 5, 6, 7));
list1.removeAll(list2); //取差集
System.out.println(list1); //[1, 2]
```
上述代码中,我们首先创建了两个List对象list1和list2,并分别初始化为包含一些整数的ArrayList对象。然后,我们使用removeAll()方法来取list1和list2的差集,即从list1中删除与list2相同的元素。最后,我们输出list1的内容,可以看到结果为[1, 2],即取差集的结果。
阅读全文