我是靠谱客的博主 无情小土豆,最近开发中收集的这篇文章主要介绍python删除列表中重复元素while循环_python – 从列表中删除唯一值并仅保留重复项...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这样做的明智之举是使用一种简单高效的数据结构,如

Counter:

>>> ids = [random.randrange(100) for _ in range(200)]

>>> from collections import Counter

>>> counts = Counter(ids)

>>> dupids = [id for id in ids if counts[id] > 1]

构建计数器需要O(N)时间,而不是O(N log N)时间进行排序,或O(N ^ 2)每次从头开始计算每个元素.

作为旁注:

But the ids list is likely to get quite long, and I realistically don’t want a while loop predicated on an expensive len call if I can avoid it.

len并不昂贵.它是恒定的时间,并且(至少在内置类型列表列表中)它的速度与函数可能在Python中完全没有做任何事情一样快.

代码中昂贵的部分是在循环内调用elem – 这意味着对于每个元素,你必须将它与潜在的每个元素进行比较,这意味着二次时间.

最后

以上就是无情小土豆为你收集整理的python删除列表中重复元素while循环_python – 从列表中删除唯一值并仅保留重复项...的全部内容,希望文章能够帮你解决python删除列表中重复元素while循环_python – 从列表中删除唯一值并仅保留重复项...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部