国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Python基础教程 > python集合和列表推导式哪种方法去重快

python集合和列表推导式哪种方法去重快

python集合 列表推导式

头像

小妮浅浅

2021-01-12 18:20:095724浏览 · 0收藏 · 0评论

在我们学习了集合中的操作符后,关于可以筛选出集合中重复元素的这一点,我们可以利用集合进行去重筛选的操作。当然其他的筛选操作还有列表推导式,我们之前也有所涉及。为了验证哪种方式去重的效率更高,本篇小编会分别列出相应的代码模块,感兴趣的小伙伴也可以跟着一起测试结果。


先讲讲set(集合)的使用,大括号或 set() 函数可以用来创建集合。set集合类需要的参数必须是迭代器类型的,如:序列、字典等,然后转换成无序不重复的元素集。由于集合是不重复的,所以可以对字符串、列表、元组进行去重操作。 

集合是从列表(list)中删除重复值的最快的方法。为了证明这一点,让我们研究以下两种方法之间的差异。

方法 1:使用集合删除列表中的重复值。

print(list(set([1, 2, 3, 1, 7])))

方法 2:使用一个列表推导式(list comprehension)从一个列表中删除重复值。

def remove_duplicates(original):
    unique = []
    [unique.append(n) for n in original if n not in unique]
    return(unique)
 
print(remove_duplicates([1, 2, 3, 1, 7]))

性能的差异可以用「timeit」库来测量,这个库允许你对 Python 代码进行计时。下面的代码将每种方法运行了 10,000 次,并且以秒为单位输出了总计时间。

import timeit
 
# Approach 1: Execution time
print(timeit.timeit('list(set([1, 2, 3, 1, 7]))', number=10000))
 
# Approach 2: Execution time
print(timeit.timeit('remove_duplicates([1, 2, 3, 1, 7])', globals=globals(), number=10000))

对比这两种方法,结果表明,使用集合删除重复值是更加高效的。虽然时间差异看似很小,但实际上在有一个非常大的列表时,能帮你节省很多的时间。

 

以上就是我们在python中使用集合和列表推导式测试去重快慢的结果。结果显而易见是集合去重的速度更快,想要获得同样效果的小伙伴可以也来尝试下小编的方法。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

韩漫免费观看在线阅读浸画 | 黑料不打烊吃瓜爆料黑料| 吻戏韩剧| 老和尚的大东西| 女上司| 儿媳妇免费播放全部电视剧| 体验所(HP)笔趣阁在线阅读 | 蜜桃成熟时在线观看| 白日梦我小说| 教练车内含乳挺进她漫画| 华为荣耀V40手机价格| 胸吻| 电视机怎么选| 被室友男朋友认错后BY阿司匹林| 真人做运动视频素材| 《办公室高潮秘书2》| 公交车被上高湖了还能坐吗小说| 土豆网| 《再来一次好吗》动漫| 拔小萝卜免费观看全集电视剧 | 水手服| 女性私处蹲下拍照有疙瘩| 邻家阿姨完整版免费观看| 吻戏| 绝色儿媳在线观看免费版电视剧 | 《暴力强伦轩》| 《一滴都不许漏》何泽城林荫| 《俄罗斯空姐2(俄罗斯航空)》| 女被强伦疯狂做爰XXX| 初中生兄弟互相导管立的经历| 猛躁川大巴进入女人| 美女和男生一起努力的生孩子视频. | 强伦轩女教师在线播放| 在婚房被伴郎C了2个小时| 办公室的滋润3| 第1章初始小莹的奶水| 老婆同意了交换男人心态| B站暴躁女RAPPER| 三男一女CP免费观看电视剧大全| 女子SPA高潮呻吟抽搐| 数学课代表的B真紧