2016-04-01 59 views
0

我的代码是:没有追加在列表重复-python

for datum in data : 
     sick.append(datum[2]) 

和结果是

sick=['J02', 'J02', 'J20', 'J20', 'J20', 'J20', 'J20', 'A08', 'J45','A08'] 

我要的是

if sick[i] == sick[i+1], don't appned value 

所以导致我想是

sick=['J02', 'J20', 'A08', 'J45','A08'] <-- this isn't removing duplicates. I just don't want to append "if sick[i] == sick[i+1]" 

我该怎么办?

+0

'from collections import OrderedDict; sick = list(OrderedDict.fromkeys(datum [2]为数据中的数据))' – falsetru

回答

1

如果复印件的,应当允许那么这会工作:

for datum in data: 
    if len(sick) == 0 or sick[-1] != datum: 
     sick.append(datum) 
+0

我工作完美! XD谢谢 – dPdms

1

我的建议:

for datum in data : 
    if not datum in sick: 
     sick.append(datum) 
1

您可以使用下面的

data = ['J02', 'J02', 'J20', 'J20', 'J20', 'J20', 'J20', 'A08', 'J45'] 
sick=[] 

for datum in data: 
    if datum not in data: 
     sick.append(datum) 

这会给输出:

['J02', 'J20', 'A08', 'J45']