"""
说明:对于一个指定的序列,如果需要获得一个只包含该序列中不重复的序列时,使用以下算法:
"""
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使用一个集合代替列表的更多相关文章

  1. python创建一个二维列表

    方法一:利用for-in语句来生成一个二维列表 a = [] 2 for i in range(10): 3 a.append([]) 4 for j in range(10): 5 a[i].app ...

  2. python基础知识-集合,列表,元组间的相互装换

    在python中列表,元祖,集合间可以进行相互转化, def main(): set1={'hello','good','banana','zoo','Python','hello'} print(l ...

  3. python每天一个小练习-列表元素非唯一

    列表元素非唯一 来源 checkio 需求 你将得到一个含有整数(X)的非空列表.在这个任务里,你应该返回在此列表中的非唯一元素的列表.要做到这一点,你需要删除所有独特的元素(这是包含在一个给定的列表 ...

  4. python数据类型详解及列表字典集合推导式详解

    一.运算符 Python语言支持以下类型的运算符: 算术运算符 如: #!/usr/bin/env python # -*- coding:utf-8 -*- a = 5 b = 6 print(a ...

  5. Python基础(三)——集合、有序 无序列表、函数、文件操作

    1.Set集合 class set(object): """ set() -> new empty set object set(iterable) -> n ...

  6. python 数据类型: 字符串String / 列表List / 元组Tuple / 集合Set / 字典Dictionary

    #python中标准数据类型 字符串String 列表List 元组Tuple 集合Set 字典Dictionary 铭记:变量无类型,对象有类型 #单个变量赋值 countn00 = '; #整数 ...

  7. 第4.4节 Python解析与推导:列表解析、字典解析、集合解析

    一.    引言 经过前几个章节的介绍,终于把与列表解析的前置内容介绍完了,本节老猿将列表解析.字典解析.集合解析进行统一的介绍. 前面章节老猿好几次说到了要介绍列表解析,但老猿认为涉及知识层面比较多 ...

  8. python 获取一个列表有多少连续列表

    python 获取一个列表有多少连续列表 例如 有列表 [1,2,3] 那么连续列表就是 [1,2],[2,3],[1,2,3] 程序实现如下: 运行结果:

  9. python写的一个集合

    起因:原本打算用python写一个抢火车票的脚本.在那 期间遇见各种浏览器驱动失败的节奏....打算先缓一下 然后就去写集合了. 0x01 源码: # -*- coding:'utf-8' -*- # ...

随机推荐

  1. HTTP Status 404(The requested resource is not available)的几种解决方法

    原因:servlet没有配置正确 ,查看web.xml确认正确,以及自己的请求路径正确 在IE中提示“404”错误有以下三种情况 1.未部署Web应用 2.URL输入错误 排错方法: 首先,查看URL ...

  2. java使用ObjectInputStream从文件中读取对象

    import java.io.EOFException;import java.io.FileInputStream;import java.io.FileNotFoundException;impo ...

  3. ComboBox( 下拉列表框)

    一. 加载方式//class 加载方式<select id="box" class="easyui-combobox" name="box&qu ...

  4. Webstorm10.0.3破解程序及汉化包下载、Webstorm配置入门指南

    核心提示: WebStorm 是jetbrains公司旗下一款JavaScript 开发工具.被广大中国JS开发者誉为“Web前端开发神器”.“最强大的HTML5编辑器”.“最智能的JavaSscri ...

  5. C库专题(Day1)

    <assert.h> C库宏-assert()   定义:#define assert(ignore) ((void)0) void assert(int experession); ex ...

  6. js函数知识点

    1.即使写成functon a()也是可以调用外面定义的变量的,写(a,b),我估计是为了降低耦合性 2.即使写成function a()也是可以用arguments[a]来默认写了(a,b) 3.在 ...

  7. C++ 知识点 2

    基本类型常量 const int a; int const a; const int *a; int * const a; int const * a const; 之间的区别? const int ...

  8. 网站的优化----首页优化---app调取服务端数据

    高并发经常会发生在有大活跃用户量来访问网站的某个点,例如用户高聚集的业务场景中,如:抢购,促销等.为了让用户流畅的访问网站,来根据自己的业务设计适合系统的处理方案. //对于APP网站首页数据,通常是 ...

  9. QQ联系客服

    $('.side').bind('mouseenter mouseleave',function(e){ if(e.type=="mouseenter"){ if(!$(this) ...

  10. Cisco Anyconnect Secure Mobility Client

    Backup 进入安装文件目录cd anyconnect-3.1.00495/binary 安装sudo./vpnsetup.sh 查看安装情况ps aux  |  grep  cisco 在搜索中, ...