国产成人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中使用集合和列表推导式测试去重快慢的结果。结果显而易见是集合去重的速度更快,想要获得同样效果的小伙伴可以也来尝试下小编的方法。

关注

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

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

星空无限MV国产剧入选精彩| 女人被男人进入后的心理变化| 法国空姐| 《黑人性奴2》免费观看| 《菊内留香》双男主| 《年轻朋友的妻子3》| 欧美一区| 女生给男生吃小头头| 六间房| 夜童| 挤公交忘穿内裤被挺进| 十一天十一夜| 淫语....粗话....脏话小说| 女子蹲下尿裤子的视频| 女子SPA高潮呻吟抽搐| 日本大片又大又好看的PPT| 《酒店激战》动漫1-5集免费观... | 女生干多了腿中间会变宽吗| 成色18K1.220.38软件| 男人行房一般多久才算正常| 电饭煲怎么选| 4399在线观看免费高清电视剧| 丰满岳妇张开腿任你躁| 闺蜜老公把我压在怀里| 浅仓彩音| 人野兽马狗猪大全| 白日梦我| 原声吻戏视频| 少妇厨房伦性做爰| BOBO浏览器| 《法国少女3》高清| 国产免费观看高清电视剧| 女子排尿视频大全| 臭小子快拔出来我是你嫲视频| 丁香花影院免费观看电视剧哈尔滨| 同学的母亲中字ID | 亚洲综合色一区二区三区| 宝贝把腿开大让我添添你视频| 售票员用B验票小镇免费阅读| 成全视频高清免费观看好听的歌| 成品人和精品人的区别在哪里知乎