去除两个list中相同的元素
时间: 2023-09-30 20:02:53 浏览: 110
可以使用set()函数将两个列表转换成集合,然后使用集合的差集操作来去除相同元素,最后再将结果转换回列表。
例如:
```python
list1 = [1, 2, 3, 4, 5]
list2 = [4, 5, 6, 7, 8]
set1 = set(list1)
set2 = set(list2)
result = list(set1 - set2)
print(result)
```
输出:
```python
[1, 2, 3]
```
相关问题
java 去除两个list中重复元素
可以使用Java 8中的Stream API来实现这个功能。具体步骤如下:
1. 将两个List合并成一个新的List
2. 使用stream()方法获取流对象
3. 使用distinct()方法去除重复元素
4. 使用collect()方法将流转换回List对象
示例代码如下:
```java
List<Integer> list1 = Arrays.asList(1, 2, 3);
List<Integer> list2 = Arrays.asList(2, 3, 4);
List<Integer> result = Stream.concat(list1.stream(), list2.stream())
.distinct()
.collect(Collectors.toList());
System.out.println(result);
```
输出结果为:[1, 2, 3, 4]
上述代码将两个List中的元素合并,然后去除重复元素,最后返回一个新的List对象。
Java中去除两个List中有相同数据的元素
在Java中,如果你想从两个列表(List)中去除它们共有的元素,可以使用以下几种方法:
1. **使用Set数据结构**:将其中一个列表转换为Set(集合无序且不允许有重复元素),然后再次转换回List。Set不会包含重复的元素,所以原列表中的重复项会自动去除。
```java
List<String> list1 = ...;
List<String> list2 = ...;
Set<String> set = new HashSet<>(list1);
set.addAll(list2); // 添加list2到set中
list1.clear(); // 清空list1
list1.addAll(set); // 将set的元素添加回list1,重复元素已去重
```
2. **使用Stream API**:可以使用Java 8引入的流(Stream) API,结合filter()和distinct()方法来过滤重复元素。
```java
List<String> list1 = ...;
List<String> list2 = ...;
List<String> combined = Stream.concat(list1.stream(), list2.stream())
.distinct()
.collect(Collectors.toList());
```
这里`combined`就是两个列表合并后的去重版本。
阅读全文
相关推荐














