在 Python 中从列表中删除重复项 您所在的位置:网站首页 如何将重复项全部删除不保留 在 Python 中从列表中删除重复项

在 Python 中从列表中删除重复项

2024-07-15 12:47| 来源: 网络整理| 查看: 265

使用 Python 中的 set() 函数从列表中删除重复元素 在 Python 中使用 OrderDict 来删除重复的内容并维持列表的顺序

Python 中的列表是一个数据结构,用于以特定的顺序存储数据。列表可以存储多种类型的数据,即 int、float、字符串、另一个列表等。列表是可突变的,这意味着一旦创建的值可以在以后改变。它用方括号 [] 表示。

myList = [2, 1, 2, 3, 0, 6, 7, 6, 4, 8] print(myList)

输出:

[2, 1, 2, 3, 0, 6, 7, 6, 4, 8]

你可以使用 for 循环从上述列表中删除重复的元素,如下所示。

myList = [2, 1, 2, 3, 0, 6, 7, 6, 4, 8] resultantList = [] for element in myList: if element not in resultantList: resultantList.append(element) print(resultantList)

输出:

[2, 1, 3, 0, 6, 7, 4, 8]

如果你不想写这么多代码,那么在 Python 中,有两种最流行的方法可以从 List 中删除重复的元素。

如果你不想在删除重复元素后还保持列表内元素的顺序,那么你可以使用 Set 数据结构。 如果你想在删除重复元素后保持列表内元素的顺序,那么你可以使用名 OrderedDict。 使用 Python 中的 set() 函数从列表中删除重复元素

为了从列表中删除重复的内容,我们可以使用另一种叫做 Set 的数据结构。集合是一种无序数据类型,只包含唯一的值。集合存储值的顺序与你可能在集合中插入元素的顺序不同。集合使用大括号 {} 来表示。

所以,每当你打印存储在集合里面的元素,那么输出的顺序就会不同。这就是为什么不能对集合进行索引的原因,因为它是无序的。

mySet = {80, 10, 50, 18, 3, 50, 8, 18, 9, 8} print(mySet)

输出:

{3, 8, 9, 10, 80, 18, 50}

请注意,在我们打印出元素后,元素的顺序是如何改变的。

在一个集合中,不允许有重复的元素,这意味着如果你多次拥有同一个元素,那么集合将把它视为一个元素。这就是为什么我们在 Python 中使用集合从一个列表中删除重复元素的原因。

original_list = [80, 10, 50, 18, 3, 50, 8, 18, 9, 8] print("Original List is: ", original_list) convert_list_to_set = set(original_list) print("Set is: ", convert_list_to_set) new_list = list(convert_list_to_set) print("Resultant List is: ", new_list) original_list = list(convert_list_to_set) print("Removed duplicates from original list: ", original_list)

输出:

Original List is: [80, 10, 50, 18, 3, 50, 8, 18, 9, 8] Set is: {3, 8, 9, 10, 80, 18, 50} Resultant List is: [3, 8, 9, 10, 80, 18, 50] Removed duplicates from original list: [3, 8, 9, 10, 80, 18, 50]

我们通过应用 set() 函数将一个列表转换为一个集合。然后,我们通过应用 list() 函数将已经去掉重复的转换后的集合转换为一个 list。

在 Python 中使用 OrderDict 来删除重复的内容并维持列表的顺序

使用集合来删除重复元素的问题是,它并不按特定顺序存储元素。因此,如果你不关心元素在结果列表中的存储顺序,即你在删除重复元素后创建的列表,那么在这种情况下,你可以使用 Set 数据结构。

但是如果你想在删除重复的元素后保持列表中元素的顺序,那么你可以使用 Python 中的 OrderedDict。OrderDict 保留了元素在列表中被插入的顺序。要使用 OrderDict,你首先要从 Python 的 collections 模块中导入它 from collections import OrderedDict。

from collections import OrderedDict myList = [2, 1, 2, 3, 0, 6, 7, 6, 8, 0, 4, 8] final_list = list(OrderedDict.fromkeys(myList)) print(final_list)

输出:

[2, 1, 3, 0, 6, 7, 8, 4]


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有