Python一点通:一行代码搞定列表去重和维持原始顺序

在Python中处理列表时,您可能会遇到需要在保持元素原始顺序的情况下删除重复项的情况。在本博客文章中,我们将探讨如何使用一行Python代码实现此操作以及为什么我们可以在Python 3.7及以上版本中这样做。

考虑以下整数列表:

my_list = [1, 2, 3, 4, 2, 1, 5, 6, 7, 6]

如果我们想要在此列表中删除重复项,我们可以使用内置的set()函数。例如:

new_list = list(set(my_list))

这将创建一个仅包含my_list中唯一元素的新列表。然而,此方法不会保持元素的原始顺序。新列表中元素的顺序将是任意的。

为了保持元素的原始顺序,我们可以使用一行Python代码,该代码使用dict.fromkeys()方法和Python 3.7及以上版本的字典维护插入顺序的特性。以下是代码:

new_list = list(dict.fromkeys(my_list))

此代码使用dict.fromkeys()方法从my_list的元素创建一个字典。由于Python 3.7及以上版本的字典维护插入顺序,因此字典中键的顺序将与原始列表中元素的顺序相同。然后,我们使用内置的list()函数将字典键转换回列表。结果new_list将仅包含my_list的唯一元素,同时保持它们的原始顺序。

这种方法高效且易于使用,是处理Python中列表的有用工具。字典维护插入顺序的能力是Python的相对较新的功能,引入于版本3.7。在版本3.7之前,字典是无序的,因此此方法将无法正常工作。

英文链接

博主好书推荐

AI日新月异,但是万丈高楼拔地起,离不开良好的基础。您是否有兴趣了解人工智能的原理和实践? 不要再观望! 我们关于 AI 原则和实践的书是任何想要深入了解 AI 世界的人的完美资源。 由该领域的领先专家撰写,这本综合指南涵盖了从机器学习的基础知识到构建智能系统的高级技术的所有内容。 无论您是初学者还是经验丰富的 AI 从业者,本书都能满足您的需求。 那为什么还要等呢?

人工智能原理与实践 全面涵盖人工智能和数据科学各个重要体系经典

北大出版社,人工智能原理与实践 人工智能和数据科学从入门到精通 详解机器学习深度学习算法原理

猜你喜欢

转载自blog.csdn.net/robot_learner/article/details/129293479