打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
如何从 Python 中的 List 中删除重复项的9种方法
userphoto

2023.04.10 四川

关注

方法一:使用集合(set) 可以将列表转换为一个集合来删除重复项,然后再将其转换回列表。

lst = [1, 2, 3, 2, 1]lst = list(set(lst))print(lst)[1, 2, 3]

方法二:使用列表推导式 可以使用列表推导式和字典(dict)来删除重复项。首先,将列表中的元素用字典的键来存储,这样重复的元素会自动被去除。然后,再将字典的键转换为列表。lst = [1, 2, 3, 2, 1]lst = list(dict.fromkeys(lst))print(lst)

方法三:使用循环 可以使用循环来遍历列表并使用一个新列表来保存不重复的元素。如果元素不在新列表中,则将其添加到新列表中。

lst = [1, 2, 3, 2, 1]new_lst = []for item in lst: if item not in new_lst: new_lst.append(item)print(new_lst)

方法四:使用 Counter 对象 可以使用 Python 标准库中的 Counter 对象来删除重复项。Counter 对象会对列表中的元素进行计数,然后使用其 most_common 方法来获取出现次数最多的元素。在这种情况下,只需要获取最常见的元素即可,因为重复的元素都会在计数中重复出现。from collections import Counterlst = [1, 2, 3, 2, 1]c = Counter(lst)lst = [x[0] for x in c.most_common()]print(lst)

方法五:使用 Pandas 如果您的数据集较大且包含许多重复项,则使用 Pandas 库可能更加有效。可以将列表转换为 Pandas 的 Series 对象,然后使用 drop_duplicates 方法来删除重复项。

import pandas as pdlst = [1, 2, 3, 2, 1]s = pd.Series(lst)lst = s.drop_duplicates().tolist()print(lst)

方法六:使用排序。可以使用 Python 的内置 sorted 函数对列表进行排序,然后在遍历排序后的列表时,跳过重复项,只将独特的项添加到新列表中。lst = [1, 2, 3, 2, 1] new_lst = [] for i in sorted(lst):      if not new_lst or i != new_lst[-1]: new_lst.append(i)      print(new_lst)

方法七:使用 filter 函数。可以使用 Python 的内置 filter 函数来过滤掉重复项。

lst = [1, 2, 3, 2, 1]new_lst = list(filter(lambda x: lst.count(x) == 1, lst))print(new_lst)

方法八:使用 numpy 库。可以使用 numpy 库的 unique 函数来获取列表中的唯一值。import numpy as nplst = [1, 2, 3, 2, 1] lst = np.unique(lst).tolist() print(lst)

方法九:使用集合(set)的 union 方法。可以使用 Python 的集合(set)的 union 方法来获取两个集合的唯一值。将列表作为参数传递给集合的 union 方法,然后将其转换回列表。

lst = [1, 2, 3, 2, 1] lst = list(set().union(lst)) print(lst)

这些方法都可以有效地从 Python 列表中删除重复项。在实际应用中,选择哪种方法通常取决于数据集大小和性能需求。还有的请补充。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python 学习之 Numpy!最神奇的模块!了解一下?
Python prod()函数:高效计算的秘密武器!
最全攻略:数据分析师必备Python编程基础知识
如何把一个python列表(有很多个元素)变成一个excel表格的第一列?
Python:可迭代对象和迭代器的区别
【数据分析必备】Pandas2.0新功能,让你的Python代码更优雅!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服