python - 如何删除列表中重复数字的所有实例?
问题描述
我想要一个删除列表中重复的任何数字的所有实例的代码。
例如:
Inputlist = [2, 3, 6, 6, 8, 9, 12, 12, 14]
Outputlist = [2,3,8,9,14]
我已经尝试删除列表中的重复元素(通过使用“唯一”函数),但它仍然在列表中留下了元素的单个实例!
seen = set()
uniq = []
for x in Outputlist:
if x not in seen:
uniq.append(x)
seen.add(x)
seen
我也浏览了很多 StackOverflow 文章,但它们的不同之处在于他们正在搜索从两个不同列表中删除公共元素,或者他们只希望每个元素的一个实例仍被保留。我想简单地删除所有常见元素。
解决方案
您可以使用计数器
>>> from collections import Counter
>>> l = [2, 3, 6, 6, 8, 9, 12, 12, 14]
>>> res = [el for el, cnt in Counter(l).items() if cnt==1]
>>> res
[2, 3, 8, 9, 14]
推荐阅读
- javascript - 反应导航:模式后屏幕不可点击(编辑:这是一个错误)
- virtual-machine - 如何使用powershell获取vcenter中vmhost当前消耗的cpu百分比
- python - 由于代理问题,Hugginface Bert Tokenizer 从源代码构建
- reactjs - 表单输入验证 ReactJS
- reactjs - DatePicker 在 React 中自动添加时间 +03:00
- linux - 获取Linux目录下的name文件
- azure - 在进行 Azure 应用注册时,Terraform 出现循环错误
- node.js - 通过 node.js 创建和管理 AWS 实例
- django - Django在创建其他模型的模板中创建外键的新实例
- amazon-web-services - Aws Ecr Repository Image VulnerabilitySourceUpdatedAt 字段含义