`
scm002
  • 浏览: 309203 次
社区版块
存档分类
最新评论

python去除列表里的重复记录

 
阅读更多

python去除列表里的重复记录

方法1:将列表转换成字典,然后输出其keys
方法2:通过集合(sets)转换实现

 

#方法1:
>>> mylist = [3,5,8,5,3,12]
>>> print dict().fromkeys(mylist).keys()
[8, 3, 12, 5]
>>>
  
#方法2:
>>> mylist = [3,5,8,5,3,12]
>>> print list(set(mylist))
[8, 3, 12, 5]
>>>

 

Python 去除列表中重复的元素

 

比较容易记忆的是用内置的set

l1 = ['b','c','d','b','c','a','a']
l2 = list(set(l1))
print l2
 
还有一种据说速度更快的,没测试过两者的速度差别
l1 = ['b','c','d','b','c','a','a']
l2 = {}.fromkeys(l1).keys()
print l2
 
这两种都有个缺点,祛除重复元素后排序变了:
['a', 'c', 'b', 'd']
 
  
  
如果想要保持他们原来的排序:
 
用list类的sort方法
l1 = ['b','c','d','b','c','a','a']
l2 = list(set(l1))
l2.sort(key=l1.index)
print l2
也可以这样写
l1 = ['b','c','d','b','c','a','a']
l2 = sorted(set(l1),key=l1.index)
print l2
 
 
也可以用遍历
l1 = ['b','c','d','b','c','a','a']
l2 = []
for i in l1:
    if not i in l2:
        l2.append(i)
print l2
上面的代码也可以这样写
l1 = ['b','c','d','b','c','a','a']
l2 = []
[l2.append(i) for i in l1 if not i in l2]
print l2
 
 
这样就可以保证排序不变了:
['b', 'c', 'd', 'a']
分享到:
评论

相关推荐

    python去除文件中重复的行实例

    python去除文件中重复的行,我们可以设置一个一个空list,res_list,用来加入没有出现过的字符行! 如果出现在res_list,我们就认为该行句子已经重复了,可以再加入到记录重复句子的list中。 如下代码: # -*- ...

    python入门到高级全栈工程师培训 第3期 附课件代码

    02 Python 列表的魔法 03 Python 元组的魔法 04 Python 字典的魔法 05 Python 错误更正:布尔值可以作为字典的key 06 Python 今日内容整理 第13章 第13章共1课 第14章 01 数据类型和变量总结 02 集合定义和基本...

    Python Cookbook

    1.5 去除字符串两端的空格 11 1.6 合并字符串 11 1.7 将字符串逐字符或逐词反转 14 1.8 检查字符串中是否包含某字符集合中的字符 15 1.9 简化字符串的translate方法的使用 18 1.10 过滤字符串中不属于指定集合...

    干货:用Python进行数据清洗,这7种方法你一定要掌握

    需要去重时,可drop_duplicates方法完成:drop_duplicates方法还可以按照某列去重,例如去除id列重复的所有记录:缺失值是数据清洗中比较常见的问题,缺失值一般由NA表示,在处理缺失值时要遵循一定的原则。...

    python项目选课分析系统.zip

    2. **数据处理**:对收集到的数据进行预处理,如清洗数据、去除重复记录、填充缺失值等,以便后续进行有效的分析和建模。 3. **特征提取**:根据分析目标,从数据中提取有用的特征,如课程难度、教师评分、课程热度...

    python项目招聘数据分析可视化系统(django).zip

    2. **数据处理**:对收集到的数据进行预处理,如清洗数据、去除重复记录、填充缺失值等,以便后续进行有效的分析和建模。 3. **特征提取**:根据分析目标,从数据中提取有用的特征,如行业分布、薪资水平、职位需求...

    精易模块v7.35[模块]

    1、新增“类_超级列表框 - 表项_去除滚动条”;。2、新增“窗口_剔除风格”从现有窗口风格中剔除某个风格;。3、新增“系统_取系统版本_汇编”获取当前系统版本;。4、新增“窗口_取光标坐标”记录光标插入标记的...

    CodeObfuscationForCProject:cc ++项目的基于代码的混淆处理基于python实现的针对的CC ++源码工程替代工具实现知识产权保护

    C ++项目的代码混淆 基于python实现的针对C / C ++继承工程可实现工具实现的版权保护 ...对于所有文件使用Clang进行解析获得所有函数和变量名称,删除重复,去除白名单的内容 获得函数和变量,转换前后的对应关系记录在

    一键分析你的上网行为(web页面可视化).rar

    这可以包括去除重复数据、处理缺失值、转换数据格式等操作。常用的库有pandas和numpy。 3. 特征工程:根据问题的需求,从原始数据中提取有意义的特征。这可以包括创建新的特征、使用时间窗口、计算统计特征等。常用...

    文章管理系统

    1.[修复]由于上传图片管理中的占用数不准确,故去除 2.[改进]前台编辑器字体和背景色盘由原来的十几色改成全色系 3.[改进]完善过滤script标签的JS函数 4.[改进]后台密码设置由原来限制最长20位扩展到50位 5.[纠正]...

    News_recommend:基于Spark的新闻推荐系统,包含爬虫项目、web网站以及spark推荐系统

    爬虫开发环境:pycharm+python3软件架构:mysql+scrapy+splash项目描述:爬虫项目负责重复爬取今日头条首页新闻,去除重复新闻,存入mysql。二.新闻网站:开发环境:IntelliJ IDEA + maven + git + linux软件架构:...

Global site tag (gtag.js) - Google Analytics