编写一个函数,将输入列表中的重复元素移除,并返回一个新的列表。 示例: remove_duplicates([1, 2, 2, 3, 4, 4]) # 输出: [1, 2, 3, 4]
时间: 2024-12-22 16:23:32 浏览: 6
当然,你可以使用Python的内置数据结构`set`来实现这个功能,因为`set`不包含重复元素。然后将`set`转换回列表即可。以下是一个简单的函数来完成这个任务:
```python
def remove_duplicates(input_list):
return list(set(input_list))
# 示例用法
input_list = [1, 2, 2, 3, 4, 4]
output_list = remove_duplicates(input_list)
print(output_list) # 输出: [1, 2, 3, 4]
```
这个函数的工作原理是先将列表转成集合(去掉重复),然后再把集合转回列表。需要注意的是,这种方法不会保留原始列表中的顺序,如果你需要保持原来的插入顺序,可以使用`collections.OrderedDict`:
```python
from collections import OrderedDict
def remove_duplicates_ordered(input_list):
return list(OrderedDict.fromkeys(input_list))
# 示例用法
input_list = [1, 2, 2, 3, 4, 4]
output_list = remove_duplicates_ordered(input_list)
print(output_list) # 输出: [1, 2, 3, 4]
```
相关问题
2、编写一个函数,将输入列表中的重复元素移除,并返回一个新的列表。 示例: remove_duplicates([1, 2, 2, 3, 4, 4]) # 输出: [1, 2, 3, 4]
在Java中,你可以使用HashSet或LinkedHashSet来实现这个功能,因为它们不包含重复元素。HashSet基于哈希表,而LinkedHashSet保留了元素插入时的顺序。这里我们使用HashSet:
```java
import java.util.*;
public class Main {
public static List<Integer> removeDuplicates(List<Integer> inputList) {
return new ArrayList<>(new HashSet<>(inputList));
}
public static void main(String[] args) {
System.out.println(removeDuplicates(Arrays.asList(1, 2, 2, 3, 4, 4))); // 输出: [1, 2, 3, 4]
}
}
```
在这个例子中,`removeDuplicates` 函数接收一个整数列表 `inputList`,然后创建一个新的HashSet,将列表转换为集合并自动去除重复元素。接着,我们将HashSet的内容转化为ArrayList并返回。
编写一个函数 remove_duplicates(arr),接收一个整数数组作为参数,返回移除重复元素后的 数组。
编写一个名为 `remove_duplicates` 的函数,可以接受一个整数数组 `arr` 作为输入参数,其目的是删除并返回一个新的数组,该数组只包含原始数组中不重复的元素。这通常通过使用数据结构如集合(Set)或者排序+遍历来实现,因为集合自动去除重复项,而排序则可以在遍历时保证每个元素都是首次遇到。
这里是使用 Python 语言的一个简单实现:
```python
def remove_duplicates(arr):
return list(set(arr)) # 使用 set 去除重复,再转换回列表
# 示例
arr = [1, 2, 2, 3, 4, 4, 5]
print(remove_duplicates(arr)) # 输出: [1, 2, 3, 4, 5]
```
如果你想要保持原有顺序(Python 3.7+),可以使用 `dict.fromkeys()` 或者双指针法:
```python
def remove_duplicates(arr):
return list(dict.fromkeys(arr))
# 或者
def remove_duplicates(arr):
unique_arr = []
seen = set()
for num in arr:
if num not in seen:
unique_arr.append(num)
seen.add(num)
return unique_arr
```
阅读全文