如何从 Python 列表中删除重复项

学习如何从 Python 中的 List 中删除重复项。

实例

从列表中删除任何重复项:

  1. mylist = ["a", "b", "a", "c", "c"]
  2. mylist = list(dict.fromkeys(mylist))
  3. print(mylist)

实例解释

首先,我们有一个包含重复项的 List:

包含重复项的列表

  1. mylist = ["a", "b", "a", "c", "c"]
  2. mylist = list(dict.fromkeys(mylist))
  3. print(mylist)

使用列表项作为键创建字典。这将自动删除任何重复项,因为词典不能有重复的键。

创建字典

  1. mylist = ["a", "b", "a", "c", "c"]
  2. mylist = list( dict.fromkeys(mylist) )
  3. print(mylist)

然后,将字典转换回列表:

转换为 List

  1. mylist = ["a", "b", "a", "c", "c"]
  2. mylist = list( dict.fromkeys(mylist) )
  3. print(mylist)

现在我们有一个没有任何重复的 List,它与原始 List 拥有相同的顺序。

打印列表以演示结果:

打印 List

  1. mylist = ["a", "b", "a", "c", "c"]
  2. mylist = list(dict.fromkeys(mylist))
  3. print(mylist)

创建函数

如果您希望有一个函数可以发送列表,然后它们返回的无重复项,则可以创建函数并插入上例中的代码。

实例

  1. def my_function(x):
  2. return list(dict.fromkeys(x))
  3.  
  4. mylist = my_function(["a", "b", "a", "c", "c"])
  5.  
  6. print(mylist)

例子解释

创建一个以 List 作为参数的函数。

创建函数

  1. def my_function(x):
  2. return list(dict.fromkeys(x))
  3.  
  4. mylist = my_function(["a", "b", "a", "c", "c"])
  5.  
  6. print(mylist)

使用此 List 项作为键创建字典。

创建字典

  1. def my_function(x):
  2. return list( dict.fromkeys(x) )
  3.  
  4. mylist = my_function(["a", "b", "a", "c", "c"])
  5.  
  6. print(mylist)

将字典转换为列表:

转换为列表

  1. def my_function(x):
  2. return list( dict.fromkeys(x) )
  3.  
  4. mylist = my_function(["a", "b", "a", "c", "c"])
  5.  
  6. print(mylist)

返回列表:

返回列表

  1. def my_function(x):
  2. return list(dict.fromkeys(x))
  3.  
  4. mylist = my_function(["a", "b", "a", "c", "c"])
  5.  
  6. print(mylist)

使用列表作为参数来调用该函数:

调用函数

  1. def my_function(x):
  2. return list(dict.fromkeys(x))
  3.  
  4. mylist = my_function(["a", "b", "a", "c", "c"])
  5.  
  6. print(mylist)

打印结果:

打印结果

  1. def my_function(x):
  2. return list(dict.fromkeys(x))
  3.  
  4. mylist = my_function(["a", "b", "a", "c", "c"])
  5.  
  6. print(mylist)