# Comparar listas e texto

Compare duas listas linha a linha: encontre o que está em ambas, só em uma ou em qualquer uma, ou veja um diff de linhas marcado lado a lado.

https://codeknife.dev/pt/comparar-listas/

## O que faz

Compara duas listas linha a linha. Como conjuntos: cada linha uma vez (união), as linhas nas duas listas (interseção), as linhas só em A ou só em B e as linhas em exatamente uma das duas. Como texto: um diff de linhas que marca cada linha como inalterada, removida ou adicionada, em vista unificada ou lado a lado.

## Como usar

1. Digite ou cole um item por linha na **Lista A** e na **Lista B**. Um arquivo de texto pode ser solto na lista A.
2. Escolha uma operação. Em Mais, desative **Diferenciar maiúsculas** para `Maçã` e `maçã` contarem como iguais, ou ative **Ignorar espaços ao redor** para que um espaço no fim não torne a linha diferente. O resultado mantém as linhas como você digitou.
3. Copie ou baixe o resultado. **Remover linhas em branco** tira antes as linhas vazias das duas listas.

## Exemplos

Com a lista A com `a, b, c, d` e a lista B com `b, c`:

**A − B** dá `a` e `d`, **A ∩ B** dá `b` e `c`, e o **Diff de linhas** marca `a` e `d` como removidas de A.

## Bom saber

- Operações de conjuntos ignoram a ordem das linhas e dão cada linha uma vez, na ordem da primeira aparição.
- Um diff de linhas compara as listas de cima para baixo, então uma linha movida aparece removida num lugar e adicionada em outro.
- Na vista lado a lado, linhas alteradas dividem uma linha da tabela; uma linha sem par tem um lado em branco.
- Linhas que só diferem no que você escolheu ignorar contam como iguais e aparecem como na lista B.

## O que significam as operações?

A ∪ B lista cada linha que está em qualquer uma das listas, uma vez. A ∩ B mantém as linhas que estão nas duas. A − B mantém as linhas só em A e B − A as linhas só em B. A última operação mantém as linhas que estão em exatamente uma lista. Cada resultado fica sem repetições e na ordem da primeira aparição.

## Perguntas frequentes

### Qual é a diferença entre uma operação de conjuntos e um diff de linhas?

Uma operação de conjuntos compara as listas como coleções, então a ordem das linhas não importa. Um diff de linhas as compara como texto de cima para baixo e marca cada linha como inalterada, removida ou adicionada, como numa revisão de código.

### Posso ignorar maiúsculas e espaços?

Sim. Em Mais, desative diferenciar maiúsculas e ative ignorar os espaços ao redor. Linhas que só diferem assim contam como iguais e o resultado as mantém como você digitou.

### Esta ferramenta envia minhas listas para algum lugar?

Não. Tudo acontece no seu navegador. O que você digita nunca é enviado aos nossos servidores.