pythonlist数据类型提供了在单个变量或结构中存储多个项的能力。Python列表可以存储相同或不同类型的项,如integer、string、float、object、List等。在存储多个项的同时,还可以存储重复项。如果需要不同的值,应该从列表中删除重复的值。在本教程中,我们将研究如何从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++库](https://www.yiteyi.com/wp-content/uploads/2020/09/wisetut_image-16.png)
用列表删除重复项
列表理解是一种类似于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++库](https://www.yiteyi.com/wp-content/uploads/2020/09/wisetut_image-17.png)
使用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++库](https://www.yiteyi.com/wp-content/uploads/2020/09/wisetut_image-18.png)
使用有序字典删除重复项
字典是另一种流行的数据类型或结构,它存储键和值对。甚至这个结构也和我们可以使用的列表不一样 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++库](https://www.yiteyi.com/wp-content/uploads/2020/09/wisetut_image-19.png)