Qual é a diferença entre listas e conjuntos em Python?


Melhor resposta

Existem algumas diferenças significativas:

  • Indexação – uma lista pode ser indexada por inteiro (começando em 0); um conjunto não pode ser indexado (não há conceito do primeiro item em um conjunto, exceto quando é iterado).
  • Fatiamento – uma lista pode ser fatiada (usando a notação [a: b]); um conjunto Python não pode ser dividido.
  • Conteúdo – uma lista pode conter qualquer combinação de itens de dados; um conjunto pode conter apenas os itens de dados que são hashble (ou seja, a função hash () retorna um valor).
  • Duplicados – uma lista pode conter itens de dados duplicados – não há limite de quantas vezes os itens de valor igual aparece na lista; um conjunto não pode conter duplicatas.
  • Ordenação – as listas são ordenadas, o que significa que mantêm a ordenação conforme determinado pelo programa usando a lista; os conjuntos não são ordenados – não há conceito de primeiro, segundo, etc. – e não há como um programador controlar a ordem em que um conjunto é iterado, exibido ou apresentado de outra forma. (Observe que a ordem não é o mesmo que ser classificado – mas os conjuntos também não podem ser classificados).
  • associação – um teste de associação (o operador in) em uma lista é uma pesquisa linear do primeiro ao último ; um teste de associação em um conjunto é baseado primeiro no hash () do valor que está sendo procurado. Pesquisar um conjunto é consideravelmente mais eficiente quando comparado a uma lista de tamanho semelhante.
  • Outros recursos – as listas não têm comportamentos para criar novas listas com base em sobreposições ou diferenças entre as listas; os conjuntos, por outro lado, têm uma miríade de operações (e métodos) para identificar as diferenças e sobreposições entre os conjuntos.

Resposta

Conjuntos são estruturas de dados, semelhantes a listas ou dicionários. Eles são criados usando chaves ou a função definir . Eles compartilham algumas funcionalidades com listas, como o uso de em para verificar se contêm um item específico.

num\_set = {1, 2,3,4,5}

word\_set = set ([“spam”, “eggs”, “sausage”])

print (3 em num\_set)

print (“spam” não em word\_set)

>> Verdadeiro

>>> Falso

Nota: Para criar um conjunto vazio, você deve usar set (), como {} crie um dicionário vazio.

Os conjuntos diferem das listas de várias maneiras, mas compartilham várias operações de lista, como len . Eles não estão ordenados, o que significa que não podem ser indexados. Eles não podem conter elementos duplicados. Devido à maneira como eles “são armazenados, é” mais rápido para verificar se um item faz parte de um conjunto, em vez de parte de uma lista. Em vez de usar anexar para adicionar a um conjunto, use add . O método remove remove um específico elemento de um conjunto; pop remove um elemento arbitrário.

Os conjuntos podem ser combinados usando operações matemáticas. O união operador | combina dois conjuntos para formar um novo contendo itens em ambos. O intersecção operador & obtém itens apenas em ambos. A diferença operador obtém os itens o primeiro conjunto, mas não no segundo. O operador diferença simétrica ^ obtém itens em qualquer conjunto, mas não em ambos.

Quando usar um dicionário: – Quando você precisa de uma associação lógica entre uma chave: valor par. – Quando você precisa de uma pesquisa rápida para seus dados, com base em uma chave personalizada. – Quando seus dados estão sendo constantemente modificados. Lembre-se de que os dicionários são mutáveis. Quando usar os outros tipos: – Use listas se você tiver uma coleção de dados que não precisa de acesso aleatório. Tente escolher listas quando precisar de uma coleção simples e iterável que é modificada com frequência. – Use um conjunto se precisar de exclusividade para os elementos. – Use tuplas quando seus dados não puderem ser alterados.

Espero que isso ajude você.

Happy Coding.

Uma última coisa, se você gostar disso, votará positivamente para me motivar.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *