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

pythonlist数据类型提供了在单个变量或结构中存储多个项的能力。Python列表可以存储相同或不同类型的项,如integer、string、float、object、List等。在存储多个项的同时,还可以存储重复项。如果需要不同的值,应该从列表中删除重复的值。在本教程中,我们将研究如何从Python列表中删除重复项。没有正式的方法从列表中删除重复项,但是有不同的方法可以轻松地从列表中删除重复项。

null
  • 不在关键字中
  • 列表理解
  • 设置转换
  • 列表理解和枚举
  • 有序词典
How To Remove Duplicates From List In Python?
如何在Python中从列表中删除重复项?

使用not in关键字删除重复项

查找和删除重复项的第一种方法是使用not-in关键字,通过选中, 歪投球 关键字。在下面的示例中 糜棱岩 包含重复项,复制到中会删除重复项 新建列表 .

mylist = [1,2,3,4,5,6,2,4,5]newlist = []for i in mylist:   if i not in newlist:      newlist.append(i)print(newlist)
图片[2]-如何在Python中从列表中删除重复项?-yiteyi-C++库
使用not in关键字删除重复项

用列表删除重复项

列表理解是一种类似于notin关键字的方法,其中迭代在一行中的一条语句中完成。没有额外的代码,但是for语句将在一行中使用。

mylist = [1,2,3,4,5,6,2,4,5]

newlist = []
[newlist.append(i) for i in mylist if i not in newlist]
print(newlist)
图片[3]-如何在Python中从列表中删除重复项?-yiteyi-C++库
用列表删除重复项

使用Set删除重复项

Python集是数学集的一个实现,其中一个集不能包含重复项。所以Python集可以用来存储列表项,其中重复项将被删除。首先,包含重复项的列表将转换为一个集合,然后再转换为一个列表。该方法的一个缺点是,由于转换,项目的原始顺序将丢失,项目将根据其价值进行排序。

mylist = [1,2,3,4,5,6,2,4,5]
//Convert list into set where duplicate items will be automatically removedmyset = set(mylist)//Convert set back to the list typemylist = list(myset)

在前面的示例中,我们在一条语句中将列表转换为set,在另一条语句中将set转换为list。我们也可以使用一个语句,其中从list到set和set到list的转换可以完成。

mylist = [1,2,3,4,5,6,2,4,5]

//Convert to set and then list againmylist = list(set(mylist))

使用列表理解和枚举删除重复项

列表理解是一种枚举列表项的方法,现有项不会添加到新列表中。这个 枚举() 函数将用于在原始列表中枚举。

mylist = [1,2,3,4,5,6,2,4,5]
newlist = [a for n, a in enumerate(mylist) if a not in mylist[:n]]
图片[4]-如何在Python中从列表中删除重复项?-yiteyi-C++库
使用列表理解和枚举删除重复项

使用有序字典删除重复项

字典是另一种流行的数据类型或结构,它存储键和值对。甚至这个结构也和我们可以使用的列表不一样 collections.OrderedDict.fromkeys() 在字典中存储列表项并删除重复项作为键的函数。

from collections import OrderedDictmylist = [1,2,3,4,5,6,2,4,5]
newlist = list(OrderedDict.fromkeys(mylist))print(newlist)
图片[5]-如何在Python中从列表中删除重复项?-yiteyi-C++库
使用有序字典删除重复项

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享