2016-04-01 3 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

'из коллекции импорта 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'] 
Смежные вопросы