2016-04-01 60 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']