python - 如何使用python从庞大的数据集中删除重复值
问题描述
我想从大型数据集中删除重复值。请帮我删除它
names = [ ["john","is","good","is"], ["shawn","is","bad"],...,
["john","shawn","is","are"] ]
expected output : [ ["john","is,"good"],["shawn","bad"],...,["are"] ]
解决方案
您可以使用字典来获取唯一值:
names = [ ["john","is","good","is"], ["shawn","is","bad"]]
dct = {}
uniqueNames = []
for n in names:
temp = []
for k in n:
if k not in dct:
temp.append(k)
dct[k] = 1
uniqueNames.append(temp)
print(uniqueNames)
输出:
[['john', 'is', 'good'], ['shawn', 'bad']]
代码复杂度为 O(n*m) [n 是子列表的数量,m 是每个子列表中元素的数量]。由于字典复杂度的搜索是平均的:O(1)所以我们可以忽略这个
推荐阅读
- c++ - 如何在 GTKmm 中制作可点击的形状
- python - 从 Pandas 中的 datetime64[ns] 中提取年份,但不是 int 类型
- java - 将布局视图保存到 SD 卡
- javascript - 除了 3 维数组,还有更好的方法来管理基于网格的游戏吗?
- sed - 如何在 sed 命令中传递变量
- java - java.io.NotSerializableException: java.time.format.DateTimeFormatter
- ruby - ruby 何时/如何使用救援/确保?
- typescript - TypeOrm 实体和 ormconfigs
- c# - 有没有办法从类似数学的函数中获取参数?
- java - 确认用户登录后调用 ParseUser.getCurrentUser().getUsername() 返回 null