两个list去除交集
时间: 2023-06-21 15:24:33 浏览: 86
可以使用 Python 中的 set 函数来实现两个列表的交集操作,然后再分别从两个列表中去除交集部分。
示例代码如下:
```python
list1 = [1, 2, 3, 4, 5]
list2 = [4, 5, 6, 7, 8]
set1 = set(list1)
set2 = set(list2)
intersection = set1.intersection(set2)
result1 = list(set1 - intersection)
result2 = list(set2 - intersection)
print(result1) # [1, 2, 3]
print(result2) # [6, 7, 8]
```
在以上代码中,我们首先将列表转换为 set 类型,然后使用 intersection 函数获取两个列表的交集,最后使用 set 操作符 - 去除交集元素,得到两个新的列表。
相关问题
java. list 去除list交集
要去除Java List中的交集,可以使用retainAll()方法和removeAll()方法。retainAll()方法将保留两个列表中都存在的元素,而removeAll()方法将删除两个列表中都存在的元素。因此,我们可以使用removeAll()方法来去除交集。
下面是一个示例代码:
```
List<String> list1 = new ArrayList<>(Arrays.asList("a", "b", "c", "d"));
List<String> list2 = new ArrayList<>(Arrays.asList("c", "d", "e", "f"));
list1.removeAll(list2); // 去除交集
System.out.println(list1); // 输出 [a, b]
```
在这个示例中,我们创建了两个列表list1和list2,它们都包含一些元素。然后,我们使用removeAll()方法从list1中去除了与list2中相同的元素,最后输出了list1的内容。
org.springframework.util取两个List的交集并集
Spring框架的`org.springframework.util.ListUtils`类提供了一些操作列表的方法,其中包括集合的交集(Intersection)和并集(Union)。如果你想要获取两个`List`的交集,可以使用`ListUtils.intersection()`方法,它接受两个`List`作为参数,并返回一个新的`List`,其中包含两个输入列表中共有的元素。
例如:
```java
import org.springframework.util.ListUtils;
List<String> list1 = Arrays.asList("A", "B", "C", "D");
List<String> list2 = Arrays.asList("C", "D", "E", "F");
List<String> intersection = ListUtils.intersection(list1, list2);
```
至于并集(Union),你可以直接使用Java 8的Stream API或者`ListUtils.union()`方法。`ListUtils.union()`会合并两个列表,去除重复项。示例如下:
```java
List<String> union = ListUtils.union(list1, list2); // 或者使用 stream API: Stream.concat(list1.stream(), list2.stream()).distinct().collect(Collectors.toList());
```
阅读全文