Python oferece várias maneiras de comparar duas listas. Comparação é o processo em que os itens de dados de uma lista são
verificados em relação a outros itens de dados de outra lista, sejam eles iguais ou não.
Por exemplo:
lista1 - [11, 12, 13, 14, 15]
lista2 - [11, 12, 13, 14, 15]
Saída: as listas são iguais.
Os métodos para comparar duas listas são os seguintes:
A função cmp()
A função set() e o operador ==
A função sort() e o operador ==
A função collection.counter()
A função reduce() e map()
Usando a função 'cmp()':
A função 'cmp()' compara os dois objetos e retorna os valores inteiros -1, 0 ou 1 de acordo com a comparação.
OBS.: Essa função não é usada na versão Python 3.x.
Usando a função 'set()' e o operador ==
A função 'set()' manipula a lista dentro do conjunto sem cuidar da ordem dos elementos. Além disso, usamos o operador
igual a (==) para comparar os itens de dados da lista.
Vejamos um exemplo:
Para compilar o código, utilize qualquer compilador de sua preferência ou utilize o compilador online abaixo:
Compilador Online Python
A saída do código acima é a seguinte:
Comentários sobre o código:
No exemplo acima, declaramos as duas listas a serem comparadas entre si. Convertemos essas listas no conjunto e comparamos cada elemento
com a ajuda do operador ==. Nesse caso, todos os elementos são iguais em ambas as listas.
Usando o método 'sort()' e o operador ==
A função sort() é usada para classificar listas. Os elementos da mesma lista são a mesma posição de índice, que significa que
as listas são iguais.
OBS.: Com o método sort(), podemos passar os itens da lista em qualquer ordem porque estamos classificando a lista antes da comparação.
Vejamos um exemplo:
Para compilar o código, utilize qualquer compilador de sua preferência ou utilize o compilador online abaixo:
Compilador Online Python
A saída do código acima é a seguinte:
Usando a função collection.counter()
O módulo collections fornece o counter(), que compara uma lista de forma eficiente. Armazena os dados em formato de dicionário <value>:<frequency> e
conta a frequência dos itens da lista.
OBS.: A ordem dos elementos da lista não importa nesta função.
Vejamos um exemplo:
Para compilar o código, utilize qualquer compilador de sua preferência ou utilize o compilador online abaixo:
Compilador Online Python
A saída do código acima é a seguinte:
Usando as funções reduce() e map()
A função map() aceita uma função e um objeto iterável (lista, tupla, string, etc) como um argumento e retorna um objeto map.
A função implementa cada elemento da lista e retorna um iterador como resultado. Além disso, o método reduce() implementa a função dada para o objeto iterável recursivamente.
Aqui, usaremos os dois métodos em combinação. A função map() implementaria a função (pode ser definida pelo usuário ou função lambda)
para cada objeto iterável e a função reduce() cuidaria disso para ser aplicada de maneira recursiva.
OBS.: Precisamos importar o módulo functool para usar a função reduce().
Vejamos um exemplo:
Para compilar o código, utilize qualquer compilador de sua preferência ou utilize o compilador online abaixo:
Compilador Online Python
A saída do código acima é a seguinte:
<< Tutorial para Converter uma Lista em String Usando uma Função
Tutorial para Arredondar um Número >>
|
|