python去除列表重复元素
Ⅰ python如何删除list里重复的元素
一共使用四种方法来去除列表中的重复元素,下面是具体实现:
def f1(seq):
# not order preserving
set = {}
map(set.__setitem__, seq, [])
return set.keys()
def f2(seq):
# order preserving
checked = []
for e in seq:
if e not in checked:
checked.append(e)
return checked
def f3(seq):
# Not order preserving
keys = {}
for e in seq:
keys[e] = 1
return keys.keys()
def f4(seq):
# order preserving
noDupes = []
[noDupes.append(i) for i in seq if not noDupes.count(i)]
return noDupes
def f5(seq, idfun=None):
# order preserving
if idfun is None:
def idfun(x): return x
seen = {}
result = []
for item in seq:
marker = idfun(item)
# in old Python versions:
# if seen.has_key(marker)
# but in new ones:
if marker in seen: continue
seen[marker] = 1
result.append(item)
return result
def f6(seq):
# Not order preserving
set = Set(seq)
return list(set)
Ⅱ python如何删除匹配(重复)的元素
list(set(a).symmetric_difference(set(b)))
global proc vector test(vector $vec
{
int $x = ceil(($vec.x) - 0.2);
int $y = ceil(($vec.y) - 0.2);
int $z = ceil(($vec.z) - 0.2);
return <<$x,$y,$z>>;
}
python写法
import math
c = lambda: x : math.ceil(x-0.2)
def test(vec):
return c(vec.x),c(vec.y),c(vec.z)
还有更复杂的写法 类似于反射之类的
Ⅲ python代码:删除列表中相同的元素
lonelycat1984 没考虑其他情况,比如,内无法hash的情况
try:
set
except NameError:
from sets import Set as set #2.3以前
def unique(s):
try:
return list(set(s))
except TypeError:
pass
t = list(s)
try:
t.sort()
except TypeError:
del t
else:
return [x for i,x in enumerate(t) if not i or x !容= t[i-1]]
u = []
for x in s:
if x not in u:
u.append(x)
return u
Ⅳ Python:如何从列表中删除重复项
#!/usr/bin/python
#-*-coding:utf-8-*-
#@File:Sum_Number.py
"""
列表变集合
"""
deflist2set(olist):
"""通过将list变成Set去重"""
ifisinstance(olist,list):
temp_set=set(olist)
result=list(temp_set)
returnresult
else:
return"Notalist"
if__name__=='__main__':
alist=eval(raw_input(u'请输入一个列表:'))
printu'{0}除重后为:{1}'.format(alist,list2set(alist))
Ⅳ python 关于去除列表中重复的问题
list(set(l))
Ⅵ python list 去重复
import
a = [{'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']] += 1
at = .(a)
for i in at:
if d[i['b']] > 1:
a.remove(i)
print a
先把b值统计一下。然后再一个比对,如果统计个数大于1,就从列表中移出。
Ⅶ Python输入列表去掉列表中重复的数字,按原次序输出。
2018-04-13
使用列表推导,只保留元素个数等于1的
1
2
3
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循环等价,不过更简洁:
1
2
3
4
5
b = []
for x in a:
if a.count(x) == 1:
b.append(x)
print b
Ⅷ python中怎么去除列表中的重复元素
集合set
set(...)
Ⅸ python如何删除list里重复的元素
代码如下:
oldList=['a','b','c','d','a','a']
newList=[]
forletterinoldList:
ifletternotinnewList:
newList.append(letter)
printnewList
运行结果内:容
['a','b','c','d']
Ⅹ python两个列表字典,删除相同元素
按照你的要求去除list2中的重复项的Python程序如下
list1=[{'title':'我是标题1','url':'我是网址1'},{'title':'我是标题2','url':'我是网址2'},{'title':'我是标题3','url':'我是网址3'}]
list2=[{'title':'我是最新1','url':'我是最新网址1'},{'title':'我是最新2','url':'我是最新网址2'},{'title':'我是标题1','url':'我是网址1'}]
list3=[item for item in list2 if item not in list1]
print(list3)