python 列表(list)去除重复的元素总结
方法一:
将list作为set的构造函数构造一个set,然后再将set转换会list就可以
>>> myList = [1, 2, 3, 3, 2, 2, 4, 5, 5]
>>> myList
[1, 2, 3, 3, 2, 2, 4, 5, 5]
>>> myList = list(set(myList))
>>> myList
[1, 2, 3, 4, 5]
方法二:使用列表推导,只保留元素个数等于1
例如:
a = ['a', 'b', 'c', 'd', 'a', 'a']
b = [x for x in a if a.count(x) == 1]
print b
不过还可以使用下面的方法,只是上面的方法更简单
b = []
for x in a:
if a.count(x) == 1:
b.append(x)
print b
方法三:使用字典中的fromkeys方法
a = ['b','c','d','b','c','a','a']
b = {}.fromkeys(a).keys()
print b
方法四:用list类的sort方法
a = ['b','c','d','b','c','a','a']
b = list(set(a))
b.sort(key=a.index)
print b 不过,也可以这样写
a = ['b','c','d','b','c','a','a']
b = sorted(set(a),key=a.index)
print b
方法五:使用用遍历
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']
方法六:使用lambda方法
>>> lst = [1, 2, 4, 5, 5, 5, 4, 7]
>>> print filter(lambda x: lst.count(x)<2, lst)
[1, 2, 7]
python 列表(list)去除重复的元素总结的更多相关文章
- Python 列表如何获得一个指定元素所在的下标
在使用Python3.4读取txt数据到列表,由于编码问题,读取到的数据通常会出现'\ufeffX'(x为你想要的数据).这时候如果需要把列表中的数据由字符串转换到数值型的数据的进行数据分析的话就会出 ...
- Java ArrayList使用技巧 - 两个ArrayList去除重复的元素
方法一.ArrayList中提供的removeAll方法(效率最低) List1.removeAll(mSubList); 方法二.双重循环(比方法一效率高) 双重循环分为内外两层循环,经过测试,将元 ...
- 在python列表中删除所有空元素
今天在测试数据的时候偶然发现一个问题,如下: test = ['a','','b','','c','',''] for i in test: if i == '': test.remove(i) pr ...
- python 找出数组重复的元素
""" 从头扫到尾,只要当前元素值与下标不同,就做一次判断,numbers[i]与numbers[numbers[i]], 相等就认为找到了重复元素,返回true,否则就 ...
- [Python]python对csv去除重复行 python 2020.2.11
用pandas库的.drop_duplicates函数 代码如下: import shutil import pandas as pd frame=pd.read_csv('E:/bdbk.csv', ...
- List去除重复的元素
有两种方法,一种是去重不带顺序的,一种是去重带顺序的. /* * 方法1: 无顺序 * Hastset根据hashcode判断是否重复,数据不会重复 */ public static Lis ...
- python分割数组里面重复的元素
c=[1,1,1,1,2,2,2,3,3,4,4,4,4,4,5,5,5,] a = [] x = [] for i in range(0,len(c)): if i + 1 < len(c): ...
- vector去除重复的元素
vector<int> v; sort(v.begin(),v.end()); v.erase(unique(v.begin(), v.end()), v.end());
- 兰亭集势笔试题:用最优方法从LinkedList列表中删除重复元素
用运行速度最优的方法从LinkedList列表里删除重复的元素,例如A->B->BB->B->C,返回A->B->BB->C. 考试的时候没完全想明白,考完又 ...
随机推荐
- python 数据结构-集合set
原文地址:http://docs.pythontab.com/python/python3.4/datastructures.html#tut-tuples 集合是一个无序不重复元素的集. 基本功能包 ...
- vmware workstation 10.0
2013.9.3 vmware workstation 10.0 build 1295980新增功能– 可以将windows 8.1物理pc转变为虚拟机:unity模式增强,与windows 8.1 ...
- vertical sync
these days, I am compelting vertical sync https://msdn.microsoft.com/zh-cn/library/windows/desktop/b ...
- WPF编程学习——样式
本文目录 1.引言 2.怎样使用样式? 3.内联样式 4.已命名样式 5.元素类型样式 6.编程控制样式 7.触发器 1.引言 样式(Style),主要是用来让元素或内容呈现一定外观的属性.WPF中的 ...
- Why we have to use epsg:900913 in OpenLayers
reference:http://docs.openlayers.org/library/spherical_mercator.html epsg:900913 is spicfy the Soher ...
- HDU4871 Shortest-path tree(树分治)
好久没做过树分治的题了,对上一次做是在南京赛里跪了一道很裸的树分治题后学的一道,多校的时候没有看这道题,哪怕看了感觉也看不出来是树分治,看出题人给了解题报告里写了树分治就做一下好了. 题意其实就是给你 ...
- POJ1474 Video Surveillance(半平面交)
求多边形核的存在性,过了这题但是过不了另一题的,不知道是模板的问题还是什么,但是这个模板还是可以过绝大部分的题的... #pragma warning(disable:4996) #include & ...
- Good Bye 2015 C. New Year and Domino 二维前缀
C. New Year and Domino They say "years are like dominoes, tumbling one after the other". ...
- java获取系统当前时间
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");//设置日期格式 System.out.print(df. ...
- JDK环境变量解析
设置环境变量 在java 中需要设置三个环境变量(1.5之后不用再设置classpath了,但个人强烈建议继续设置以保证向下兼用问题)JDK安装完成之后我们来设置环境变量:右击“我的电脑”,选择“属性 ...