xbns.net
当前位置:首页 >> python列表去重复 >>

python列表去重复

1.使用set的特型,python的set和其他语言类似,是一个无序不重复元素集 orgList=[1,0,3,7,7,5]#list()方法是把字符串str或元组转成数组 formatList=list(set(orgList)) print(formatList) 结果:[0,1,3,5,7] 2.使用keys()方法 orgList=[1,0,3,7,7,5]#list

2018-04-13 使用列表推导,只保留元素个数等于1的123 a = ['a', 'b', 'c', 'd', 'a', 'a'] b = [x for x in a if a.count(x) == 1] print b 列表推导中的x for x in a if a.count(1) == 1和下面的for循环等价,不过更简洁:12345 b = [] for x in a: if a.count(x) == 1: b.append(x) print b

使用列表推导,只保留元素个数等于1的 a = ['a', 'b', 'c', 'd', 'a', 'a'] b = [x for x in a if a.count(x) == 1] print b 列表推导中的x for x in a if a.count(1) == 1和下面的for循环等价,不过更简洁:b = [] for x in a: if a.count(x) == 1: b.append(x) print b

python2.4及其以上版本支持一种类型叫做SET,这种对象的一个作用就是去除重复 如果使用set的话,你的une也可以改为 def une(lst): return list(set(lst))

list(set(l))

可以对第二个list的元素进行遍历,检查是否出现在第二个list当中,如果使用表理解,可以使用一行代码完成任务.list1 = [1,2,3,4,5] list2 = [4,5,6,7,8] print [l for l in list1 if l in list2]# [4,5] 如果每一个列表中均没有重复的元素,那么还有另外一种更好的办法.首先把两个list转换成set,然后对两个set取交集,即可得到两个list的重复元素.set1 = set(list1) set2 = set(list2) print set1 & set 2# {4,5}

import copya = [{'a':12,'b':21},{'a':13,'b':22},{'a':14,'b':22},{'a':15,'b':23},{'a':16,'b':22}]d = {}for i in a: d.setdefault(i['b'], 0) d[i['b']] += 1at = copy.copy(a)for i in at: if d[i['b']] > 1: a.remove(i)print a先把b值统计一下.然后再一个比对,如果统计个数大于1,就从列表中移出.

参考如下:import copya = [{'a':12,'b':21},{'a':13,'b':22},{'a':14,'b':22},{'a':15,'b':23},{'a':16,'b':22}]d = {}for i in a:d.setdefault(i['b'], 0)d[i['b']] += 1at = copy.copy(a)for i in at:if d[i['b']] > 1:a.remove(i)print a先把b值统计一下.然后再一个比对,如果统计个数大于1,就从列表中移出.

list=[('小王', '第一次考试', '5'), ('小陈', '第二次考试', '7'), ('小陈', '第一次考试', '1'),('小王', '第六次考试', '20')] dic = {} list1=[] for person in list: if person[0] not in dic.keys(): dic[person[0]] = person elif int(dic[person[0]][2]

网站首页 | 网站地图
All rights reserved Powered by www.xbns.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com