码迷,mamicode.com
首页 > 编程语言 > 详细

python使用一个集合代替列表

时间:2015-01-15 20:07:06      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:


"""
说明:对于一个指定的序列,如果需要获得一个只包含该序列中不重复的序列时,使用以下算法:
"""
seq=[‘a‘,‘a‘,‘b‘,‘c‘,‘c‘,‘d‘]
res=[]
for el in seq:
    if el not in res:
        res.append(el)
print res

 or 

 

在res列表中使用in进行查找,其最高复杂高将是0(n),然后全局循环中调用它,它的复杂度也是0(n),所以复杂度通常会是2次方。

对于这样的操作使用set()类型会更快,因为它是使用dict之类的hash来查找存储的值 ,也就是说,查询它是否在set中所需的时间将是一个常数:

如下: set(seq)

注意:当尝试一个算法的复杂度时,应该认真考虑数据结构,内建类型有很多,要选择正确的一种,在调用算法之前,转换数据往往比基于原始数据修改算法使其变得更快更好!

python使用一个集合代替列表

标签:

原文地址:http://www.cnblogs.com/mhxy13867806343/p/4227128.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!