Удаление повторяющихся строк из списка в 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. То же самое, что и один из ответов здесь, но небольшое изменение, набор не требуется!