Python 删除列表中的重复项(而不是保留它们)

标签 python

假设我有:

x=[a,b,a,b,c,d]

我想要一个方法来获取

y=[c,d]

我已经设法做到了:

 for i in x:
   if x.count(i) == 1:
     unique.append(i)

问题是,这对于更大的列表来说非常慢,有帮助吗?

最佳答案

先用一个dict来统计:

d = {}
for i in x:
    if i not in d:
        d[i] = 0
    d[i] += 1
y = [i for i, j in d.iteritems() if j == 1]

关于Python 删除列表中的重复项(而不是保留它们),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30675296/

相关文章:

python - cv2.createTrackbar 使用 python

python - 如何在一个目录中为一个项目创建多个 docker 镜像?

python - 如何在 Python 或函数式编程语言中创建函数扩展/函数接口(interface)/函数类?

javascript - 使用 Ajax jQuery 的动态选择选项不起作用

python - 以下字符串的正则表达式模式?

java - 客户端和服务器的 SSL 握手失败

python - 值错误: too many values to unpack

python - Django-haystack 搜索#hashtag

python - 将 kickstart 文件传递​​给虚拟管理器 xml 文件

python - 新建一个数组