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)