FilipedeOliveira Posted February 7, 2014 at 04:55 PM Report #544374 Posted February 7, 2014 at 04:55 PM Como verificar se duas listas são iguais (se têm o mesmo conteúdo) independente do tipo? p.e: ["Joao",Antonio",Luis"] = ["Luis","Joao","Antonio"] (verificar se as duas listas têm o mesmo conteúdo)
Baderous Posted February 7, 2014 at 05:40 PM Report #544386 Posted February 7, 2014 at 05:40 PM Para cada elemento da lista 1, verificas se ele existe na lista 2 (por ex, usando a função elem). Para funcionar para qualquer tipo, basta que declares os tipos da lista como sendo [a], sendo a o tipo polimórfico que pode assumir qualquer tipo concreto. A única coisa necessária é que esse tipo seja instância da classe Eq para que os seus valores saibam comparar-se (daí o tipo da função elem :: Eq a => a -> [a] -> Bool). 1 Report
FilipedeOliveira Posted February 7, 2014 at 06:00 PM Author Report #544392 Posted February 7, 2014 at 06:00 PM Ok. Resultou. Obrigado pela dica. 👍
Flinger Posted February 27, 2014 at 06:04 PM Report #546950 Posted February 27, 2014 at 06:04 PM Para cada elemento da lista 1, verificas se ele existe na lista 2 (por ex, usando a função elem). Só uma pequena nota, provavelmente não vai a tempo para este utilizador, mas fica para a posteridade. A igualdade implica que a lista 1 está contida na lista 2, bem como a lista 2 está contida na lista 1, ou seja tens que testar se todos os elementos da lista 1 existem na lista 2, e o inverso, se todos os elementos da lista 2 existem na lista 1. ["Joao",Antonio",Luis"] != ["Luis","Joao","Antonio","Maria"] 1 Report
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now