Удаление повторяющихся строк из списка в python
Если у меня есть список строк,
a = ["asd","def","ase","dfg","asd","def","dfg"]
как удалить дубликаты из списка?
Ответы
Ответ 1
Преобразовать в набор:
a = set(a)
Или, возможно, вернуться к списку:
a = list(set(a))
Обратите внимание, что это не сохраняет порядок. Если вы хотите сохранить порядок:
seen = set()
result = []
for item in a:
if item not in seen:
seen.add(item)
result.append(item)
Посмотрите, как он работает в Интернете: ideone
Ответ 2
Используйте тип набора для удаления дубликатов
a = list(set(a))
Ответ 3
Вы можете поместить их в set
, а затем вернуться в список:
a = [ ... ]
s = set(a)
a2 = list(s)
Ответ 4
def getUniqueItems(iterable):
result = []
for item in iterable:
if item not in result:
result.append(item)
return result
print (''.join(getUniqueItems(list('apple'))))
P.S. То же самое, что и один из ответов здесь, но небольшое изменение, набор не требуется!