Python 删除列表中的重复元素

Document 对象参考手册 Python3 实例

在 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)

代码解析:

  1. 方法1: 使用 set

    • set 是 Python 中的一种数据结构,它不允许有重复的元素。通过将列表转换为 set,我们可以自动去除重复元素,然后再将其转换回列表。
    • list(set(original_list))original_list 转换为 set,然后再转换回列表。
  2. 方法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. 方法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 不保证顺序)。

Document 对象参考手册 Python3 实例