Python 删除列表中的重复元素
在 Python 中,我们可以使用多种方法来删除列表中的重复元素。常见的方法包括使用 set
数据结构、列表推导式以及 dict.fromkeys()
方法。下面我们将展示如何使用这些方法来删除列表中的重复元素。
实例
# 方法1: 使用 set
original_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = list(set(original_list))
print("方法1结果:", unique_list)
# 方法2: 使用列表推导式
original_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = []
[unique_list.append(x) for x in original_list if x not in unique_list]
print("方法2结果:", unique_list)
# 方法3: 使用 dict.fromkeys()
original_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = list(dict.fromkeys(original_list))
print("方法3结果:", unique_list)
original_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = list(set(original_list))
print("方法1结果:", unique_list)
# 方法2: 使用列表推导式
original_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = []
[unique_list.append(x) for x in original_list if x not in unique_list]
print("方法2结果:", unique_list)
# 方法3: 使用 dict.fromkeys()
original_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = list(dict.fromkeys(original_list))
print("方法3结果:", unique_list)
代码解析:
-
方法1: 使用
set
set
是 Python 中的一种数据结构,它不允许有重复的元素。通过将列表转换为set
,我们可以自动去除重复元素,然后再将其转换回列表。list(set(original_list))
将original_list
转换为set
,然后再转换回列表。
-
方法2: 使用列表推导式
- 列表推导式是一种简洁的创建列表的方法。我们遍历
original_list
,并将不在unique_list
中的元素添加到unique_list
中。 [unique_list.append(x) for x in original_list if x not in unique_list]
这行代码会遍历original_list
,并将不重复的元素添加到unique_list
中。
- 列表推导式是一种简洁的创建列表的方法。我们遍历
-
方法3: 使用
dict.fromkeys()
dict.fromkeys()
方法会创建一个字典,字典的键是唯一的,因此可以去除重复元素。然后我们将字典的键转换回列表。list(dict.fromkeys(original_list))
将original_list
转换为字典的键,然后再转换回列表。
输出结果:
方法1结果: [1, 2, 3, 4, 5] 方法2结果: [1, 2, 3, 4, 5] 方法3结果: [1, 2, 3, 4, 5]
所有方法都成功地去除了列表中的重复元素,并保留了原始列表的顺序(除了方法1,因为 set
不保证顺序)。
点我分享笔记