HOWTO · Python

Como obter valores únicos a partir de uma lista em Python

O artigo introduz métodos para obter valores únicos a partir de uma lista em Python

Nesta página

Este tutorial discute métodos para obter valores únicos a partir de uma lista em Python.

Utilize dict.fromkeys para obter valores únicos de uma lista em Python

Podemos utilizar o método dict.fromkeys da classe dict para obter valores únicos de uma lista Python. Este método preserva a ordem original dos elementos e mantém apenas o primeiro elemento das duplicatas. O exemplo abaixo ilustra isto.

inp_list = [2, 2, 3, 1, 4, 2, 5]
unique_list = list(dict.fromkeys(inp_list))
print(unique_list)

Resultado:

[2, 3, 1, 4, 5]

Utilize uma Nova Lista para obter valores únicos da lista original em Python

Outro método para obter valores únicos de uma lista em Python é criar uma nova lista e adicionar apenas elementos únicos a ela da lista original. Este método preserva a ordem original dos elementos e mantém apenas o primeiro elemento das duplicatas. O exemplo abaixo ilustra isto.

inp_list = [2, 2, 3, 1, 4, 2, 5]
unique_list = []
[unique_list.append(x) for x in inp_list if x not in unique_list]
unique_list

Resultado:

[2, 3, 1, 4, 5]

Utilize set() para obter valores únicos a partir de uma lista em Python

O Set em Python contém apenas valores únicos. Podemos inserir os valores de nossa lista em um set para obter valores únicos. Entretanto, este método não preserva a ordem dos elementos. O exemplo abaixo ilustra isso.

inp_list = [2, 2, 3, 1, 4, 2, 5]
unique_list = list(set(inp_list))
print(unique_list)

Resultado:

[1, 2, 3, 4, 5]

Observe que a ordem dos elementos não é preservada como na lista original.