Jeśli mam listy ciągów,Usuwanie duplikatów z listy ciągów w python
a = ["asd","def","ase","dfg","asd","def","dfg"]
jak mogę usunąć duplikaty z listy?
Jeśli mam listy ciągów,Usuwanie duplikatów z listy ciągów w python
a = ["asd","def","ase","dfg","asd","def","dfg"]
jak mogę usunąć duplikaty z listy?
konwertować do zbioru:
a = set(a)
lub ewentualnie z powrotem do listy:
a = list(set(a))
pamiętać, że nie robi zachować porządek. Jeśli chcesz zachować porządek:
seen = set()
result = []
for item in a:
if item not in seen:
seen.add(item)
result.append(item)
Zobacz pracuje w trybie online: ideone
używanie odbiornika typu usunąć duplikaty
a = list(set(a))
Można pop „em w set
a następnie z powrotem do listy:
a = [ ... ]
s = set(a)
a2 = list(s)
def getUniqueItems(iterable):
result = []
for item in iterable:
if item not in result:
result.append(item)
return result
print (''.join(getUniqueItems(list('apple'))))
PS: To samo, co jedna z odpowiedzi tutaj, ale mała zmiana, zestaw nie jest tak naprawdę wymagany!
Czy ten fragment kodu zachowuje kolejność? –
Zachowuje porządek, ale ma kwadratową złożoność, a to źle dla każdej listy, która jest zdalnie duża. – ReneSac
to niesamowite! dzięki –
dziękuję :) który działał .... – Shamika